W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
雖然本書(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ì)他們有如下的建議:
在創(chuàng)造一個(gè)新的設(shè)計(jì)模式的時(shí)候,在通用性,特殊性和可用性之間有一個(gè)微妙的平衡點(diǎn)。如果新的模式覆蓋了應(yīng)用中最多的可能情況,那么這個(gè)模式應(yīng)該是良好的。我希望通過(guò)這段簡(jiǎn)介能夠?qū)ο聜€(gè)章節(jié)內(nèi)容的學(xué)習(xí)有所幫助。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: