面向?qū)ο罅笤瓌t

1. 六大原則

1. 單一職責(zé)原則(Single Responsibility Principle)

2. 開閉原則(Open Close Principle)

3. 里氏替換原則(Liskov Substitution Principle)

4. 依賴倒置原則(Dependence Inversion Principle)

5. 接口隔離原則(Interface Segregation Principle)

6. 迪米特原則(Law Of Demeter)

2. 創(chuàng)建型模式

創(chuàng)建型模式(Creational Pattern)對(duì)類的實(shí)例化過程進(jìn)行了抽象鲜屏,能夠?qū)④浖K中對(duì)象的創(chuàng)建和對(duì)象的使用分離烹看。

簡(jiǎn)單工廠模式(Simple Factory):

工廠方法模式(Factory Method):

定義一個(gè)用于創(chuàng)建對(duì)象的接口国拇,讓子類決定實(shí)例化哪個(gè)類

抽象工廠模式(Abstract Factory):

為創(chuàng)建一組相關(guān)或者相互依賴的對(duì)象提供一個(gè)接口,而不需要指定他們的具體類

原型模式(Prototype):

用原型實(shí)例指定創(chuàng)建對(duì)象的種類惯殊,并通過拷貝這些原型創(chuàng)建新的對(duì)象

單例模式(Singleton):

確保某一個(gè)類只有一個(gè)實(shí)例酱吝,而且自行實(shí)例化,并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例土思。

建造者模式(Builder):

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

3. 結(jié)構(gòu)型模式

結(jié)構(gòu)型模式(Structural Pattern):
描述如何將類或者對(duì)象結(jié)合在一起形成更大的結(jié)構(gòu)

適配器模式(Adapter):

適配器模式把一個(gè)類的接口變換成客戶端所期待的另一種接口,從而使原本因接口不匹配而無法在一起工作的兩個(gè)類能夠在一起工作

橋接模式(Bridge):

將抽象部分與實(shí)現(xiàn)部分分離己儒,使他們可以獨(dú)立地進(jìn)行變化

組合模式(Composite):

將對(duì)象組合成樹形結(jié)構(gòu)以表示 部分 整體的層次結(jié)構(gòu) 使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有一致性

裝飾模式(Decorator):

動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)崎岂。就增加功能來說,裝飾模式相比生成子類更為靈活

外觀模式(Facade):

要求一個(gè)子系統(tǒng)的外部與其內(nèi)部的通信必須通過一個(gè)統(tǒng)一的對(duì)象進(jìn)行址愿。提供一個(gè)高層次的接口该镣,使得子系統(tǒng)更易于使用。

享元模式(Flyweight):

使用共享對(duì)象可有效地支持大量的細(xì)粒度的對(duì)象

代理模式(Proxy):

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

4. 行為型模式

行為型模式(Behavioral Pattern):是對(duì)在不同的對(duì)象之間劃分責(zé)任和算法的抽象化响谓。

職責(zé)鏈模式(Chain of Responsibility):

使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免了請(qǐng)求的發(fā)送者和接受者之間的耦合關(guān)系省艳。將這些對(duì)象連成一條鏈娘纷,并沿著這條鏈傳遞該請(qǐng)求,直到有對(duì)象處理它為止跋炕。

命令模式(Command):

將一個(gè)請(qǐng)求封裝成一個(gè)對(duì)象赖晶,從而讓用戶使用不同的請(qǐng)求把客戶端參數(shù)化;對(duì)請(qǐng)求排隊(duì)或者記錄請(qǐng)求日志辐烂,以及支持可撤銷的操作

解釋器模式(Interpreter):

給定一門語言遏插,定義它的文法的一種表示,并定義一個(gè)解釋器纠修,該解釋器使用該表示來解釋語言中的句子.

迭代器模式(Iterator):

提供一種方法順序訪問一個(gè)容器對(duì)象中的各個(gè)元素胳嘲,而又不需要暴露該對(duì)象的內(nèi)部表示

中介者模式(Mediator):

中介者模式包裝了一系列對(duì)象相互作用的方式,使得這些對(duì)象不必相互明顯作用扣草。從而使它們可以松散耦合了牛。當(dāng)某些對(duì)象之間的作用發(fā)生改變時(shí),不會(huì)立即影響其他的一些對(duì)象之間的作用辰妙。保證這些作用可以彼此獨(dú)立的變化鹰祸。中介者模式將多對(duì)多的相互作用轉(zhuǎn)化為一對(duì)多的相互作用。中介者模式將對(duì)象的行為和協(xié)作抽象化密浑,把對(duì)象在小尺度的行為上與其他對(duì)象的相互作用分開處理蛙婴。

備忘錄模式(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)台夺,則所有依賴于它的對(duì)象都會(huì)得到通知并被自動(dòng)更新

狀態(tài)模式(State):

當(dāng)一個(gè)對(duì)象的內(nèi)在狀態(tài)改變時(shí)允許改變其行為径玖,這個(gè)對(duì)象看起來像改變了其類

策略模式(Strategy):

定義一系列算法,將每一個(gè)算法封裝起來颤介,并讓它們可以相互替換梳星。策略模式讓算法獨(dú)立于使用它的客戶而變化

模板方法模式(Template Method):

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

訪問者模式(Visitor):

封裝一些作用于某種數(shù)據(jù)結(jié)構(gòu)中的各元素的操作冤灾,它可以在不改變這個(gè)數(shù)據(jù)結(jié)構(gòu)的前提下定義作用于這些元素的新的操作

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市辕近,隨后出現(xiàn)的幾起案子韵吨,更是在濱河造成了極大的恐慌,老刑警劉巖移宅,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件归粉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡漏峰,警方通過查閱死者的電腦和手機(jī)糠悼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浅乔,“玉大人倔喂,你說我怎么就攤上這事【肝” “怎么了席噩?”我有些...
    開封第一講書人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)贤壁。 經(jīng)常有香客問我悼枢,道長(zhǎng),這世上最難降的妖魔是什么芯砸? 我笑而不...
    開封第一講書人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任萧芙,我火速辦了婚禮,結(jié)果婚禮上假丧,老公的妹妹穿的比我還像新娘双揪。我一直安慰自己,他們只是感情好包帚,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開白布渔期。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪疯趟。 梳的紋絲不亂的頭發(fā)上拘哨,一...
    開封第一講書人閱讀 52,246評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音信峻,去河邊找鬼倦青。 笑死,一個(gè)胖子當(dāng)著我的面吹牛盹舞,可吹牛的內(nèi)容都是我干的产镐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼踢步,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼癣亚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起获印,我...
    開封第一講書人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤述雾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后兼丰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體玻孟,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年鳍征,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了取募。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蟆技,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出斗忌,到底是詐尸還是另有隱情质礼,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布织阳,位于F島的核電站眶蕉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏唧躲。R本人自食惡果不足惜造挽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弄痹。 院中可真熱鬧饭入,春花似錦、人聲如沸肛真。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至乾忱,卻和暖如春讥珍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背窄瘟。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工衷佃, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蹄葱。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓氏义,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親新蟆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子觅赊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

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

  • 本文原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處琼稻。歡迎關(guān)注我的 簡(jiǎn)書 吮螺,關(guān)注我的專題 Android Class 我會(huì)長(zhǎng)期堅(jiān)持為大家收錄簡(jiǎn)...
    MeloDev閱讀 1,232評(píng)論 8 33
  • 面向?qū)ο罅笤瓌t 1.單一職責(zé)原則 所謂職責(zé)是指類變化的原因。如果一個(gè)類有多于一個(gè)的動(dòng)機(jī)被改變帕翻,那么這個(gè)類就是...
    SlideException閱讀 249評(píng)論 0 0
  • 本文出自《Android源碼設(shè)計(jì)模式解析與實(shí)戰(zhàn)》中的第一章鸠补。 1、優(yōu)化代碼的第一步——單一職責(zé)原則 單一職責(zé)原則的...
    MrSimp1e0閱讀 1,776評(píng)論 1 13
  • 單一職責(zé)原則 單一職責(zé)原則(Single Responsibility Principle, SRP):一個(gè)類只負(fù)...
    小龍蛋閱讀 188評(píng)論 0 0
  • 設(shè)計(jì)模式 面向?qū)ο蟮牧笤瓌t 單一職責(zé)原則 單一職責(zé)原則 (SRP) 是指就一個(gè)類而言嘀掸,應(yīng)該僅有一個(gè)引起它變化的原...
    知北遊閱讀 599評(píng)論 0 2