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