android設(shè)計(jì)模式2

一、設(shè)計(jì)模式的分類

總體來說設(shè)計(jì)模式分為三大類:

創(chuàng)建型模式踢械,共五種:工廠方法模式酗电、抽象工廠模式魄藕、單例模式内列、建造者模式、原型模式背率。

結(jié)構(gòu)型模式话瞧,共七種:適配器模式、裝飾器模式寝姿、代理模式交排、外觀模式、橋接模式饵筑、組合模式埃篓、享元模式。

行為型模式根资,共十一種:策略模式架专、模板方法模式、觀察者模式玄帕、迭代子模式部脚、責(zé)任鏈模式、命令模式裤纹、備忘錄模式委刘、狀態(tài)模式、訪問者模式、中介者模式锡移、解釋器模式呕童。

其實(shí)還有兩類:并發(fā)型模式和線程池模式。用一個(gè)圖片來整體描述一下:

二罩抗、設(shè)計(jì)模式的六大原則

總原則:開閉原則(Open Close Principle)

開閉原則就是說對(duì)擴(kuò)展開放拉庵,對(duì)修改關(guān)閉。在程序需要進(jìn)行拓展的時(shí)候套蒂,不能去修改原有的代碼钞支,而是要擴(kuò)展原有代碼,實(shí)現(xiàn)一個(gè)熱插拔的效果操刀。所以一句話概括就是:為了使程序的擴(kuò)展性好烁挟,易于維護(hù)和升級(jí)。想要達(dá)到這樣的效果骨坑,我們需要使用接口和抽象類等撼嗓,后面的具體設(shè)計(jì)中我們會(huì)提到這點(diǎn)。

1欢唾、單一職責(zé)原則

不要存在多于一個(gè)導(dǎo)致類變更的原因且警,也就是說每個(gè)類應(yīng)該實(shí)現(xiàn)單一的職責(zé),如若不然礁遣,就應(yīng)該把類拆分斑芜。

2、里氏替換原則(Liskov Substitution Principle)

里氏代換原則(Liskov Substitution Principle LSP)面向?qū)ο笤O(shè)計(jì)的基本原則之一祟霍。 里氏代換原則中說杏头,任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn)沸呐。 LSP是繼承復(fù)用的基石醇王,只有當(dāng)衍生類可以替換掉基類,軟件單位的功能不受到影響時(shí)崭添,基類才能真正被復(fù)用寓娩,而衍生類也能夠在基類的基礎(chǔ)上增加新的行為。里氏代換原則是對(duì)“開-閉”原則的補(bǔ)充呼渣。實(shí)現(xiàn)“開-閉”原則的關(guān)鍵步驟就是抽象化棘伴。而基類與子類的繼承關(guān)系就是抽象化的具體實(shí)現(xiàn),所以里氏代換原則是對(duì)實(shí)現(xiàn)抽象化的具體步驟的規(guī)范徙邻∨畔樱—— From Baidu 百科

歷史替換原則中,子類對(duì)父類的方法盡量不要重寫和重載缰犁。因?yàn)楦割惔砹硕x好的結(jié)構(gòu)淳地,通過這個(gè)規(guī)范的接口與外界交互怖糊,子類不應(yīng)該隨便破壞它。

3颇象、依賴倒轉(zhuǎn)原則(Dependence Inversion Principle)

這個(gè)是開閉原則的基礎(chǔ)伍伤,具體內(nèi)容:面向接口編程,依賴于抽象而不依賴于具體遣钳。寫代碼時(shí)用到具體類時(shí)扰魂,不與具體類交互,而與具體類的上層接口交互蕴茴。

4劝评、接口隔離原則(Interface Segregation Principle)

這個(gè)原則的意思是:每個(gè)接口中不存在子類用不到卻必須實(shí)現(xiàn)的方法,如果不然倦淀,就要將接口拆分蒋畜。使用多個(gè)隔離的接口,比使用單個(gè)接口(多個(gè)接口方法集合到一個(gè)的接口)要好撞叽。

5姻成、迪米特法則(最少知道原則)(Demeter Principle)

就是說:一個(gè)類對(duì)自己依賴的類知道的越少越好。也就是說無論被依賴的類多么復(fù)雜愿棋,都應(yīng)該將邏輯封裝在方法的內(nèi)部科展,通過public方法提供給外部。這樣當(dāng)被依賴的類變化時(shí)糠雨,才能最小的影響該類才睹。

最少知道原則的另一個(gè)表達(dá)方式是:只與直接的朋友通信。類之間只要有耦合關(guān)系见秤,就叫朋友關(guān)系砂竖。耦合分為依賴真椿、關(guān)聯(lián)鹃答、聚合、組合等突硝。我們稱出現(xiàn)為成員變量测摔、方法參數(shù)、方法返回值中的類為直接朋友解恰。局部變量锋八、臨時(shí)變量則不是直接的朋友。我們要求陌生的類不要作為局部變量出現(xiàn)在類中护盈。

6挟纱、合成復(fù)用原則(Composite Reuse Principle)

原則是盡量首先使用合成/聚合的方式,而不是使用繼承腐宋。

更為詳細(xì)的鏈接

http://blog.csdn.net/longyulu/article/details/9159589

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末紊服,一起剝皮案震驚了整個(gè)濱河市檀轨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌欺嗤,老刑警劉巖参萄,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異煎饼,居然都是意外死亡讹挎,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門吆玖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來筒溃,“玉大人,你說我怎么就攤上這事沾乘≌∠郏” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵意鲸,是天一觀的道長烦周。 經(jīng)常有香客問我,道長怎顾,這世上最難降的妖魔是什么读慎? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮槐雾,結(jié)果婚禮上夭委,老公的妹妹穿的比我還像新娘。我一直安慰自己募强,他們只是感情好株灸,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著擎值,像睡著了一般慌烧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鸠儿,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天屹蚊,我揣著相機(jī)與錄音,去河邊找鬼进每。 笑死汹粤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的田晚。 我是一名探鬼主播嘱兼,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼贤徒!你這毒婦竟也來了芹壕?” 一聲冷哼從身側(cè)響起胃惜,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哪雕,沒想到半個(gè)月后船殉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡斯嚎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年利虫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片堡僻。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡糠惫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出钉疫,到底是詐尸還是另有隱情硼讽,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布牲阁,位于F島的核電站固阁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏城菊。R本人自食惡果不足惜备燃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凌唬。 院中可真熱鬧并齐,春花似錦、人聲如沸客税。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽更耻。三九已至测垛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酥夭,已是汗流浹背赐纱。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工脊奋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留熬北,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓导而,卻偏偏與公主長得像囊蓝,于是被迫代替她去往敵國和親鞍帝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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

  • 設(shè)計(jì)模式之六大原則(轉(zhuǎn)載) 關(guān)于設(shè)計(jì)模式的六大設(shè)計(jì)原則的資料網(wǎng)上很多...
    霄霄霄霄閱讀 894評(píng)論 0 1
  • 前言 設(shè)計(jì)模式六大原則網(wǎng)上資料比較多比較亂巫延,本文將網(wǎng)上的一些好的資料做一下整理效五,以便隨時(shí)翻閱。友情提示炉峰,設(shè)計(jì)模式雖...
    簡(jiǎn)單的土豆閱讀 1,429評(píng)論 0 10
  • 本文集網(wǎng)絡(luò)上文章及自己coding和理解的結(jié)果而來畏妖,是設(shè)計(jì)模式學(xué)習(xí)的開篇。 本文介紹設(shè)計(jì)模式的一些概念疼阔,分類戒劫,和設(shè)...
    月落蝶殤閱讀 494評(píng)論 0 0
  • 一、設(shè)計(jì)模式的分類 總體來說設(shè)計(jì)模式分為三大類: 創(chuàng)建型模式婆廊,共五種:工廠方法模式迅细、抽象工廠模式、單例模式淘邻、建造者...
    RamboLI閱讀 744評(píng)論 0 1
  • 面向?qū)ο笤O(shè)計(jì)的五大原則 單一職責(zé)原則(SRP) 一個(gè)類應(yīng)該僅有一個(gè)職責(zé)茵典。 開放封閉原則(OCP) 對(duì)擴(kuò)展開放,...
    LiuHDme閱讀 1,453評(píng)論 0 3