蘇州網(wǎng)站建設(shè)說過:“每一個模式描述了一個在我們周圍不斷重復發(fā)生的問題,以及該問題的解決方案的核心。這樣,你就能一次又一次地使用該方案而不必做重復勞動”。盡管Alexander所指的是城市和建筑模式,但他的思想也同樣適用于面向?qū)ο笤O(shè)計模式,只是在面向?qū)ο蟮慕鉀Q方案里,我們用對象和接口代替了墻壁和門窗。兩類模式的核心都在于提供了相關(guān)問題的解決方案。
一般而言,一個模式有四個基本要素:
1、網(wǎng)站模式名稱(patternname)一個助記名,它用一兩個詞來描述模式的問題、解決方案和效果。命名一個新的模式增加了我們的設(shè)計詞匯。設(shè)計模式允許我們在較高的抽象層次上進行設(shè)計。基于一個模式詞匯表,我們自己以及同事之間就可以討論模式并在編寫文檔時使用它們。模式名可以幫助我們思考,便于我們與其他人交流設(shè)計思想及設(shè)計結(jié)果。找到恰當?shù)哪J矫彩俏覀冊O(shè)計模式編目工作的難點之一。
2、網(wǎng)站問題(problem)描述了應該在何時使用模式。它解釋了設(shè)計問題和問題存在的前因后果,它可能描述了特定的設(shè)計問題,如怎樣用對象表示算法等。也可能描述了導致不靈活設(shè)計的類或?qū)ο蠼Y(jié)構(gòu)。有時候,問題部分會包括使用模式滿足的一系列先決條件。
3、網(wǎng)站解決方案(solution)描述了設(shè)計的組成成分,他們之間的相互關(guān)系及各自的職責和寫作方式。因為模式就像一個模板,可應用于多種不同場合,所以解決方案并不描述一個特定二聚體的設(shè)計和實現(xiàn),而是提供設(shè)計問題的抽象描述和怎樣用一個具有一般意義的元素組合(類或?qū)ο蠼M合)來解決這個問題。
4、網(wǎng)站效果(consequences)描述了模式應用的效果及使用模式應權(quán)衡的問題。盡管我們描述設(shè)計決策時,并不總提到模式效果,但他們對于評價設(shè)計選擇和理解使用模式的代價及好處具有重要意義。軟件效果大多關(guān)注對時間和空間的衡量,它們也標書了語言和實現(xiàn)問題。因為復用是面向?qū)ο笤O(shè)計的要素之一,所以模式效果包括他對系統(tǒng)的靈活性、擴充性或可移植性的影響,顯式地列出這些效果對理解和評價這些模式很有幫助。
出發(fā)點的不同會產(chǎn)生對什么是模式和什么不是模式的理解不同。一個人的模式對另一個人來說可能只是基本構(gòu)造部件。本書中我們將在一定的抽象層次上討論模式。《設(shè)計模式》并不描述鏈表和hash表那樣的設(shè)計,盡管他們可以用類來封裝,也可復用;也不包括哪些復雜的、特定領(lǐng)域內(nèi)的對整個應用或子系統(tǒng)的設(shè)計。本書中的設(shè)計模式是對被用來在特定場景表解決一般設(shè)計問題的類和相互通信的對象的描述。
一個設(shè)計模式命名、抽象和確定了一個通用設(shè)計結(jié)構(gòu)的主要方面,這些設(shè)計結(jié)構(gòu)能被用來構(gòu)造可復用的面向?qū)ο笤O(shè)計。設(shè)計模式確定了所包含的類和實例,它們的角色、協(xié)作方式以及職責分配。每一個設(shè)計模式都集中于一個特定的面向?qū)ο笤O(shè)計問題或設(shè)計要點,描述了什么時候使用它,在另一些設(shè)計約束條件下是否還能使用,以及使用的效果和如何取舍。
Copyright ? 深圳市互訊網(wǎng)絡(luò)科技有限公司 專業(yè)從事于龍崗網(wǎng)站建設(shè),龍崗網(wǎng)絡(luò)公司,龍崗網(wǎng)站推廣, 歡迎來電咨詢! 粵ICP備2021043359號 技術(shù)支持: 互訊網(wǎng)絡(luò)