7.1.3 設(shè)計(jì)模式的組成元素
1、模式名,簡(jiǎn)潔地描述了 模式的本質(zhì),可以幫助我們思考。
2、問題或意圖,解釋了設(shè)計(jì)問題和問題存在的前因后果,可能描述了特定的設(shè)計(jì)問題。
3、情景,告訴我們?cè)撃J降倪m用性。
4、動(dòng)機(jī),描述相關(guān)的動(dòng)機(jī)和約束,通常需要對(duì)各期望的目標(biāo)進(jìn)行有限排序,動(dòng)機(jī)闡明了問題的復(fù)雜性,定義了在相互沖突時(shí)所采取的各種權(quán)衡手段。
5、解決方案,因?yàn)槟J骄拖褚粋(gè)模板,所以解決方案并不描述一個(gè)特定而具體的設(shè)計(jì)或?qū)崿F(xiàn),而是提供設(shè)計(jì)問題的 抽象描述 和怎樣用一個(gè) 具有一般意義的 元素組合。
6、示例,幫助讀者理解模式的具體使用方法。
7、結(jié)果情景,闡述了模式后續(xù)狀態(tài)和副作用。
8、基本原理,解釋該模式 如何、為何 能解決當(dāng)前問題。
9、相關(guān)模式,包括 靜態(tài)的 和 動(dòng)態(tài)的,遷到模式、后續(xù)模式、替代模式。
10、已知應(yīng)用,通常好的模式前面都有一個(gè)摘要,提供簡(jiǎn)短的總結(jié)和概述,為模式描繪出一個(gè)清晰的圖畫,提供有關(guān)該模式能夠解決問題的快速信息。
新技術(shù)可能帶來的效果持懷疑態(tài)度。
模式應(yīng)該說明它的目標(biāo)讀者,以及對(duì)讀者有哪些知識(shí)要求。
7.1.4 設(shè)計(jì)模式的分類
軟件模式 主要可分為 設(shè)計(jì)模式、分析模式、組織和過程模式等。
設(shè)計(jì)模式主要用于 得到簡(jiǎn)潔靈活的 系統(tǒng)設(shè)計(jì)。
按設(shè)計(jì)模式的目的劃分,創(chuàng)建型、結(jié)構(gòu)型、行為型;
按設(shè)計(jì)模式范圍劃分,類設(shè)計(jì)模式、對(duì)象設(shè)計(jì)模式。
1、創(chuàng)建型模式,對(duì)對(duì)象實(shí)例化過程的 抽象,采用抽象類所定義的接口,封裝了對(duì)象如何創(chuàng)建、組合等信息。
2、結(jié)構(gòu)型模式,如何組合已有的類和對(duì)象 以及獲得更大的結(jié)構(gòu)。
3、行為型模式,不僅描述對(duì)象或類的模式,還描述它們之間的通信模式,特別是描述一組對(duì)等的對(duì)象怎樣互相協(xié)作 完成其中任一對(duì)象無法單獨(dú)完成的任務(wù)。
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |