<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    基本設(shè)計(jì)模式

            整個(gè)設(shè)計(jì)模式貫穿一個(gè)原理:  面對(duì)接口編程,而不是面對(duì)實(shí)現(xiàn).目標(biāo)原則是: 降低耦合,增強(qiáng)靈活性 


    基本的設(shè)計(jì)模式

     

    Abstract Factory:提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無(wú)需指定它們具體的類。(使用得非常頻繁。

     

    Adapter:將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。

     

    Bridge:將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化。

     

    Builder:將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。

     

    Chain of Responsibility:為解除請(qǐng)求的發(fā)送者和接收者之間耦合,而使多個(gè)對(duì)象都有機(jī)會(huì)處理這個(gè)請(qǐng)求。將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理它。

     

    Command:將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化;對(duì)請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可取消的操作。

     

    Composite:將對(duì)象組合成樹(shù)形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)。它使得客戶對(duì)單個(gè)對(duì)象和復(fù)合對(duì)象的使用具有一致性。

     

    Decorator:動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)。就擴(kuò)展功能而言, 它比生成子類方式更為靈活。

     

    Facade:為子系統(tǒng)中的一組接口提供一個(gè)一致的界面, F a c a d e模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用。

     

    Factory Method:定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定將哪一個(gè)類實(shí)例化。Factory Method使一個(gè)類的實(shí)例化延遲到其子類。

     

    Flyweight:運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象。

     

    Interpreter:給定一個(gè)語(yǔ)言, 定義它的文法的一種表示,并定義一個(gè)解釋器, 該解釋器使用該表示來(lái)解釋語(yǔ)言中的句子。

     

    Iterator:提供一種方法順序訪問(wèn)一個(gè)聚合對(duì)象中各個(gè)元素, 而又不需暴露該對(duì)象的內(nèi)部表示。

     

    Mediator:用一個(gè)中介對(duì)象來(lái)封裝一系列的對(duì)象交互。中介者使各對(duì)象不需要顯式地相互引用,從而使其耦合松散,而且可以獨(dú)立地改變它們之間的交互。

     

    Memento:在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài)。這樣以后就可將該對(duì)象恢復(fù)到保存的狀態(tài)。

     

    Observer:定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,以便當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并自動(dòng)刷新。

     

    Prototype:用原型實(shí)例指定創(chuàng)建對(duì)象的種類,并且通過(guò)拷貝這個(gè)原型來(lái)創(chuàng)建新的對(duì)象。

     

    Proxy:為其他對(duì)象提供一個(gè)代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。

     

    Singleton:保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。

    State:允許一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。對(duì)象看起來(lái)似乎修改了它所屬的類。

     

    Strategy:定義一系列的算法,把它們一個(gè)個(gè)封裝起來(lái), 并且使它們可相互替換。本模式使得算法的變化可獨(dú)立于使用它的客戶。

     

    Template Method:定義一個(gè)操作中的算法的骨架,而將一些步驟延遲到子類中。Template Method使得子類可以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。

     

    Visitor:表示一個(gè)作用于某對(duì)象結(jié)構(gòu)中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用于這些元素的新操作。

    posted on 2006-03-08 18:22 大頭 閱讀(101) 評(píng)論(0)  編輯  收藏 所屬分類: Design Pattern

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲国产亚洲综合在线尤物| 另类专区另类专区亚洲| 丁香花免费完整高清观看| 久久人午夜亚洲精品无码区| 亚洲免费人成在线视频观看| 最新欧洲大片免费在线| 色视频在线观看免费| 一区二区三区亚洲| 日本不卡高清中文字幕免费| 日韩免费电影网站| 亚洲AV无码一区二区大桥未久| 久久精品国产69国产精品亚洲| 18禁超污无遮挡无码免费网站国产 | 亚洲AV人无码激艳猛片| 一个人在线观看视频免费| 成人免费夜片在线观看| 亚洲Av高清一区二区三区| 自拍偷自拍亚洲精品第1页| 毛片a级毛片免费播放下载 | 成人免费无码H在线观看不卡| 色噜噜亚洲男人的天堂| 亚洲AV无码久久精品色欲| 日韩成全视频观看免费观看高清| APP在线免费观看视频| 日韩亚洲综合精品国产| 7777久久亚洲中文字幕蜜桃| 国产成人亚洲影院在线观看| 一二三四视频在线观看中文版免费| 中文永久免费观看网站| 337p日本欧洲亚洲大胆人人| 亚洲18在线天美| 亚洲av成人无码久久精品 | 亚洲一区无码中文字幕乱码| 日本红怡院亚洲红怡院最新| 亚洲?V乱码久久精品蜜桃| 最近最新的免费中文字幕| 2021国内精品久久久久精免费| 丝瓜app免费下载网址进入ios| 国产精品亚洲一区二区三区| 学生妹亚洲一区二区| 亚洲bt加勒比一区二区|