設計模式

設計原則:

面向?qū)ο笮枰裱牧笤瓌t:

單一職責原則(Single?Responsibility?Principle)

里氏替換原則(Liskov?Substitution?Principle)

依賴倒置原則(Dependence?Inversion?Principle)

接口隔離原則(Interface?Segregation?Principle)

迪米特法則(Law?Of?Demeter)

開閉原則(Open?Close?Principle)

設計模式:

設計模式主要分三個類型:創(chuàng)建型束铭、結(jié)構(gòu)型和行為型义黎。

其中創(chuàng)建型有:

一勒叠、Singleton,單例模式:保證一個類只有一個實例,并提供一個訪問它的全局訪問點

二、Abstract?Factory,抽象工廠:提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口芦倒,而無須指定它們的具體類。

三不翩、Factory?Method兵扬,工廠方法:定義一個用于創(chuàng)建對象的接口麻裳,讓子類決定實例化哪一個類,F(xiàn)actory?Method使一個類的實例化延遲到了子類器钟。

四津坑、Builder,建造模式:將一個復雜對象的構(gòu)建與他的表示相分離傲霸,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示疆瑰。

五、Prototype昙啄,原型模式:用原型實例指定創(chuàng)建對象的種類穆役,并且通過拷貝這些原型來創(chuàng)建新的對象。

行為型有:

六梳凛、Iterator耿币,迭代器模式:提供一個方法順序訪問一個聚合對象的各個元素,而又不需要暴露該對象的內(nèi)部表示韧拒。

七淹接、Observer,觀察者模式:定義對象間一對多的依賴關(guān)系叛溢,當一個對象的狀態(tài)發(fā)生改變時塑悼,所有依賴于它的對象都得到通知自動更新。

八楷掉、Template?Method拢肆,模板方法:定義一個操作中的算法的骨架,而將一些步驟延遲到子類中靖诗,TemplateMethod使得子類可以不改變一個算法的結(jié)構(gòu)即可以重定義該算法得某些特定步驟。

九支示、Command刊橘,命令模式:將一個請求封裝為一個對象,從而使你可以用不同的請求對客戶進行參數(shù)化颂鸿,對請求排隊和記錄請求日志促绵,以及支持可撤銷的操作。

十嘴纺、State败晴,狀態(tài)模式:允許對象在其內(nèi)部狀態(tài)改變時改變他的行為。對象看起來似乎改變了他的類栽渴。

十一尖坤、Strategy,策略模式:定義一系列的算法闲擦,把他們一個個封裝起來慢味,并使他們可以互相替換场梆,本模式使得算法可以獨立于使用它們的客戶。

十二纯路、China?of?Responsibility或油,職責鏈模式:使多個對象都有機會處理請求,從而避免請求的送發(fā)者和接收者之間的耦合關(guān)系

十三驰唬、Mediator顶岸,中介者模式:用一個中介對象封裝一些列的對象交互。

十四叫编、Visitor辖佣,訪問者模式:表示一個作用于某對象結(jié)構(gòu)中的各元素的操作,它使你可以在不改變各元素類的前提下定義作用于這個元素的新操作宵溅。

十五凌简、Interpreter,解釋器模式:給定一個語言恃逻,定義他的文法的一個表示雏搂,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子寇损。

十六凸郑、Memento,備忘錄模式:在不破壞對象的前提下矛市,捕獲一個對象的內(nèi)部狀態(tài)芙沥,并在該對象之外保存這個狀態(tài)。

結(jié)構(gòu)型有:

十七浊吏、Composite而昨,組合模式:將對象組合成樹形結(jié)構(gòu)以表示部分整體的關(guān)系,Composite使得用戶對單個對象和組合對象的使用具有一致性找田。

十八歌憨、Facade,外觀模式:為子系統(tǒng)中的一組接口提供一致的界面墩衙,fa?ade提供了一高層接口务嫡,這個接口使得子系統(tǒng)更容易使用。

十九漆改、Proxy心铃,代理模式:為其他對象提供一種代理以控制對這個對象的訪問

二十、Adapter,適配器模式:將一類的接口轉(zhuǎn)換成客戶希望的另外一個接口挫剑,Adapter模式使得原本由于接口不兼容而不能一起工作那些類可以一起工作去扣。

二十一、Decrator暮顺,裝飾模式:動態(tài)地給一個對象增加一些額外的職責厅篓,就增加的功能來說秀存,Decorator模式相比生成子類更加靈活。

二十二羽氮、Bridge或链,橋模式:將抽象部分與它的實現(xiàn)部分相分離,使他們可以獨立的變化档押。

二十三澳盐、Flyweight,享元模式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末令宿,一起剝皮案震驚了整個濱河市叼耙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌粒没,老刑警劉巖筛婉,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異癞松,居然都是意外死亡爽撒,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進店門响蓉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來硕勿,“玉大人,你說我怎么就攤上這事枫甲≡次洌” “怎么了?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵想幻,是天一觀的道長粱栖。 經(jīng)常有香客問我,道長脏毯,這世上最難降的妖魔是什么查排? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮抄沮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘岖瑰。我一直安慰自己叛买,他們只是感情好,可當我...
    茶點故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布蹋订。 她就那樣靜靜地躺著率挣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪露戒。 梳的紋絲不亂的頭發(fā)上椒功,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天捶箱,我揣著相機與錄音,去河邊找鬼动漾。 笑死丁屎,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的旱眯。 我是一名探鬼主播晨川,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼删豺!你這毒婦竟也來了共虑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤呀页,失蹤者是張志新(化名)和其女友劉穎妈拌,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蓬蝶,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡尘分,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了疾党。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片音诫。...
    茶點故事閱讀 39,745評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖雪位,靈堂內(nèi)的尸體忽然破棺而出竭钝,到底是詐尸還是另有隱情,我是刑警寧澤雹洗,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布香罐,位于F島的核電站,受9級特大地震影響时肿,放射性物質(zhì)發(fā)生泄漏庇茫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一螃成、第九天 我趴在偏房一處隱蔽的房頂上張望旦签。 院中可真熱鬧,春花似錦寸宏、人聲如沸宁炫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽羔巢。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間竿秆,已是汗流浹背启摄。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留幽钢,地道東北人歉备。 一個月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像搅吁,于是被迫代替她去往敵國和親威创。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,652評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 設計模式匯總 一谎懦、基礎(chǔ)知識 1. 設計模式概述 定義:設計模式(Design Pattern)是一套被反復使用肚豺、多...
    MinoyJet閱讀 3,939評論 1 15
  • 設計模式基本原則 開放-封閉原則(OCP),是說軟件實體(類界拦、模塊吸申、函數(shù)等等)應該可以拓展,但是不可修改享甸。開-閉原...
    西山薄涼閱讀 3,797評論 3 14
  • 工廠模式類似于現(xiàn)實生活中的工廠可以產(chǎn)生大量相似的商品截碴,去做同樣的事情,實現(xiàn)同樣的效果;這時候需要使用工廠模式蛉威。簡單...
    舟漁行舟閱讀 7,752評論 2 17
  • 本文是《設計模式——可復用面對對象軟件的基礎(chǔ)》的筆記日丹。 面對對象設計的幾個原則:1.針對接口編程,而不是針對實現(xiàn)編...
    Lension閱讀 1,193評論 0 0
  • 面向?qū)ο笤O計的五大原則 單一職責原則(SRP) 一個類應該僅有一個職責蚯嫌。 開放封閉原則(OCP) 對擴展開放哲虾,...
    LiuHDme閱讀 1,461評論 0 3