1. IOS設(shè)計模式簡介

1.開閉原則:

一個模塊的修改较性,對拓展開放而對修改關(guān)閉道批。
       舉個例子:有一個類在項目中很多地方被使用了,但是由于需求寂殉,想對這個類進行拓展,這里可以使用繼承拓展出子類喝峦,可以對子類進行修改扔傅,盡量不要修改原來的類。

2.里氏代換原則:

  子類父類可以替換乃沙,子類可以使用父類所有的方法,父類可以使用子類所有的方法诗舰。
 舉個例子:有多個子類繼承了父類警儒,并且實現(xiàn)了父類的抽象方法(雖然OC中沒有抽象方法或者是虛函數(shù)這個概念,但是父類方法不實現(xiàn)眶根,就模擬了沒有具體實現(xiàn)的抽象方法或者叫虛函數(shù))蜀铲,在用父類創(chuàng)建實例的時候,聲明可以用父類属百,創(chuàng)建實例可以用父類记劝,也可以用其子類,這樣诸老,所調(diào)用的方法就會自動切換到相應(yīng)的實例的方法隆夯。這個就是里氏代換原則,和面向?qū)ο蟮亩鄳B(tài)類似别伏。

3.依賴倒轉(zhuǎn)原則:

 抽象不依賴于細節(jié)蹄衷,細節(jié)依賴于抽象。(這個指的是接口)

舉個例子:一個類的接口方法或者是繼承得來的抽象方法厘肮,需要通過[self …]調(diào)用所在類的自己的具體的方法愧口,這個方法是私有的方法,并不會對外開放的类茂。在OC中耍属,只要這個具體的方法沒有寫在.h文件中,就不會被外部使用巩检,也可以降低看代碼的干擾厚骗。如果把這個具體的方法寫在.h文件中,也就是暴露出來了兢哭,這樣會破壞封裝性领舰,而且會直接影響里氏代換原則的操作。而且如果某一個類繼承這個類,又會造成額外的差異冲秽。我們盡量要做到舍咖,抽象的方法(比如這里是接口的方法)用具體實現(xiàn)的方法來實現(xiàn),但是這個具體實現(xiàn)的方法不應(yīng)該暴露出來锉桑,這就叫做抽象不依賴細節(jié)排霉,細節(jié)依賴于抽象。

4.接口隔離原則:

       一些接口盡量只做必要的事情民轴,而不要做太多和這個接口無關(guān)的事情攻柠。嚴格遵守會讓源碼復(fù)用性很高。

舉個例子:不要讓接口做一些超出它范圍的沒用的事情杉武。

5.合成/聚合復(fù)用

       如果從一個類擴展出另外一個方法辙诞,盡量不要使用繼承辙售,而是要使用組合轻抱。

舉個例子:如果原來的一個類已經(jīng)滿足不了需求了,需要添加方法旦部,一般來說祈搜,可以用繼承,如果不到萬不得已士八,最好不用這么做容燕,其實可以將這個類當作一個組件在新建的一個類中來使用,然后這個新建的類婚度,可以多建立幾個滿足需求的方法蘸秘。在這里,新的類就相當于一個容器的作用蝗茁。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末醋虏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子哮翘,更是在濱河造成了極大的恐慌颈嚼,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饭寺,死亡現(xiàn)場離奇詭異阻课,居然都是意外死亡,警方通過查閱死者的電腦和手機艰匙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門限煞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人员凝,你說我怎么就攤上這事署驻。” “怎么了?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵硕舆,是天一觀的道長秽荞。 經(jīng)常有香客問我,道長抚官,這世上最難降的妖魔是什么扬跋? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮凌节,結(jié)果婚禮上钦听,老公的妹妹穿的比我還像新娘。我一直安慰自己倍奢,他們只是感情好朴上,可當我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著卒煞,像睡著了一般痪宰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上畔裕,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天衣撬,我揣著相機與錄音,去河邊找鬼扮饶。 笑死具练,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的甜无。 我是一名探鬼主播扛点,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼岂丘!你這毒婦竟也來了陵究?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤元潘,失蹤者是張志新(化名)和其女友劉穎畔乙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體翩概,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡牲距,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了钥庇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牍鞠。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖评姨,靈堂內(nèi)的尸體忽然破棺而出难述,到底是詐尸還是另有隱情萤晴,我是刑警寧澤,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布胁后,位于F島的核電站店读,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏攀芯。R本人自食惡果不足惜屯断,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望侣诺。 院中可真熱鬧殖演,春花似錦、人聲如沸年鸳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搔确。三九已至彼棍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間妥箕,已是汗流浹背滥酥。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留畦幢,地道東北人。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓缆蝉,卻偏偏與公主長得像宇葱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子刊头,可洞房花燭夜當晚...
    茶點故事閱讀 45,930評論 2 361

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

  • 我們在應(yīng)用開發(fā)中黍瞧,一般要求盡量做到可維護性和可復(fù)用性 應(yīng)用程序的復(fù)用可以提高應(yīng)用程序的開發(fā)效率和質(zhì)量,節(jié)約開發(fā)成本...
    Yochi閱讀 526評論 0 0
  • title: 設(shè)計模式簡介categories: 設(shè)計模式tags: 設(shè)計模式date: 2017-05-03 0...
    九命丿相柳閱讀 584評論 0 0
  • 設(shè)計原則就是在設(shè)計模式背后更為深層的原杂、更具有普遍性的印颤、共同的思想原則,是提高軟件系統(tǒng)的可維護性和可復(fù)用性的指導(dǎo)原則...
    蘇先生Tongson閱讀 1,173評論 0 0
  • 詳解設(shè)計模式六大原則 設(shè)計模式(Design pattern)是一套被反復(fù)使用穿肄、多數(shù)人知曉的年局、經(jīng)過分類編目的、代碼...
    鮑陳飛閱讀 670評論 0 4
  • 設(shè)計模式之六大原則(轉(zhuǎn)載) 關(guān)于設(shè)計模式的六大設(shè)計原則的資料網(wǎng)上很多...
    霄霄霄霄閱讀 900評論 0 1