JavaScript 編寫(xiě)設(shè)計(jì)模式

2018-08-02 16:23 更新

編寫(xiě)設(shè)計(jì)模式

雖然本書(shū)的目標(biāo),針對(duì)的是新的設(shè)計(jì)模式,但對(duì)設(shè)計(jì)模式是怎樣編寫(xiě)的有一個(gè)根本的理解后,會(huì)讓我們受益匪淺。對(duì)于初學(xué)者來(lái)說(shuō),對(duì)于為什么需要一個(gè)模式背后的推理,我們可以得到更深的理解。我們同時(shí)也會(huì)學(xué)習(xí)到當(dāng)我們?cè)谥匾曃覀冏约旱男枨蟮臅r(shí)候,如何區(qū)分一種模式(或原模式)。

要編寫(xiě)好的模式,是一種極具挑戰(zhàn)性的任務(wù)。模式不僅僅需要對(duì)終端用戶提供數(shù)量可觀的材料,還要能夠說(shuō)明為什么需要這種模式。

在讀過(guò)前續(xù)章節(jié)-什么是模式以后,我們可能會(huì)認(rèn)為足夠幫助我們?nèi)ケ鎰e我們?cè)诜菢?biāo)準(zhǔn)條件下看到的模式。事實(shí)上這并非完全正確。這并不總是很清楚,如果我們正在尋找的一段代碼,出現(xiàn)像它一樣符合的一組模式,或只是偶然發(fā)生。

當(dāng)我們?cè)趯ふ艺J(rèn)為可能使用某種設(shè)計(jì)模式的代碼的時(shí)候,應(yīng)該考慮寫(xiě)下的代碼的一些方面,我們相信屬于一個(gè)特定的現(xiàn)有格局或一組模式。

在很多模式分析的案例中,我們會(huì)發(fā)現(xiàn),正巧看到了那些具有良好的原則和設(shè)計(jì)實(shí)踐,而這些可能突然引起對(duì)模式的覆蓋規(guī)則。記住-既不相互作用,也沒(méi)有定義規(guī)則的解決方案模式。、

如果敢于嘗試編寫(xiě)自己的設(shè)計(jì)模式的道路,我推薦從其他那些已經(jīng)過(guò)來(lái)之人學(xué)習(xí),學(xué)習(xí)他們好的方面?;〞r(shí)間從大量不同的設(shè)計(jì)模式描述中吸取信息,并找到對(duì)你有意義的。

探索結(jié)構(gòu)和語(yǔ)義-可以通過(guò)檢查交互和你感興趣的模式的上下文,因此你可以標(biāo)示出運(yùn)用有用的配置,將模式組織在一起的原則。 

一旦我們暴露了自己豐富的模式文獻(xiàn)資料,我們不妨使用現(xiàn)有的格式,開(kāi)始寫(xiě)我們的模式,并看看我們是否能集思廣益,打開(kāi)新思路,對(duì)它進(jìn)行改進(jìn)或把我們的想法進(jìn)行整合。 

一個(gè)開(kāi)發(fā)者的例子,該例子的作者是近幾年的Christian Heilmann,他在對(duì)已存在的模式的基礎(chǔ)上做了一些基本的改變,以此創(chuàng)建了暴露模塊模式(該模式在本書(shū)后續(xù)部分會(huì)講到)。 

對(duì)于那些對(duì)創(chuàng)建新設(shè)計(jì)模式的人,我對(duì)他們有如下的建議:

  • 模式是否實(shí)用?: 確保這個(gè)模式能夠?qū)σ恍┏R?jiàn)的問(wèn)題有明確的解決方案,而不是臨時(shí)的解決方案。
  • 保持最佳實(shí)踐: 我們的設(shè)計(jì)需要以最佳實(shí)踐中所獲得的理解作為基礎(chǔ)。
  • 設(shè)計(jì)模式對(duì)用戶來(lái)說(shuō)應(yīng)該是清晰的: 設(shè)計(jì)模式必須對(duì)任何形式的用戶體驗(yàn)都是清晰的。 因?yàn)樵O(shè)計(jì)模式主要服務(wù)于開(kāi)發(fā)者們,所以不能強(qiáng)迫他們?nèi)ジ淖冊(cè)瓉?lái)的行為,那樣開(kāi)發(fā)者們才會(huì)去使用這個(gè)模式。
  • 獨(dú)創(chuàng)力不是設(shè)計(jì)模式的關(guān)鍵: 當(dāng)我們?cè)谠O(shè)計(jì)一個(gè)模式的時(shí)候,我們既不需要是發(fā)明者,也不需要去擔(dān)心是否是其他模式的子集。如果某個(gè)想法有很強(qiáng)的實(shí)用性,那么這就是一個(gè)創(chuàng)造新模式的機(jī)會(huì)。
  • 需要有幾個(gè)有說(shuō)服力的例子: 一個(gè)好的設(shè)計(jì)模式需要有一個(gè)有說(shuō)服力的例子來(lái)展示這個(gè)模式是成功的。為了廣泛使用這個(gè)設(shè)計(jì)模式,這些例子需要展示良好的設(shè)計(jì)原則。

在創(chuàng)造一個(gè)新的設(shè)計(jì)模式的時(shí)候,在通用性,特殊性和可用性之間有一個(gè)微妙的平衡點(diǎn)。如果新的模式覆蓋了應(yīng)用中最多的可能情況,那么這個(gè)模式應(yīng)該是良好的。我希望通過(guò)這段簡(jiǎn)介能夠?qū)ο聜€(gè)章節(jié)內(nèi)容的學(xué)習(xí)有所幫助。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)