OO設(shè)計(jì)原則 和設(shè)計(jì)模式

所謂的 OO設(shè)計(jì)原則的目的 是 1. Extensibility距糖;2. Flexibility湿右;3. Pluggability

1. 最小職責(zé) 原則:一個(gè)類做一個(gè)職責(zé)(角色)竟趾;SRP

2. 里氏替換原則:子類不能改變 父類的 契約,即 子類不能override 父類的方法璧坟, 可以有條件 overload嗡贺;輸入?yún)?shù)更寬松, 返回參數(shù) 更嚴(yán)格抖拦;LSP

3. 依賴倒置原則:面向接口升酣,所有的 底層類和高層類(具體業(yè)務(wù)邏輯)都依賴上層的 接口定義;DIP

4. 最小接口原則: 接口或抽象類的 定義 要 包含盡量少的 方法聲明态罪;ISP

5. 迪米特原則:對(duì)依賴的對(duì)象了解盡量少的信息噩茄;通過中間層的 對(duì)象了解;

6. 組合/聚合原則:多用組合复颈,少用繼承绩聘;因?yàn)?組合可用更靈活的“復(fù)用”對(duì)象所屬類的 代碼,并且可用在runtime(運(yùn)行時(shí))動(dòng)態(tài)改變對(duì)象的行為耗啦; 使用繼承則子類全盤接受 父類的 方法實(shí)現(xiàn)(遵守里氏替換原則)凿菩,并且無法運(yùn)行時(shí)動(dòng)態(tài)改變方法實(shí)現(xiàn);所以 需要 “封裝變化”帜讲,再 組合之衅谷; strategy 模式 很好的體現(xiàn)了這個(gè)原則;

7. 開閉原則:軟件代碼(類級(jí)別)對(duì)修改關(guān)閉似将,對(duì)擴(kuò)展開放获黔;這個(gè)是理論上的蚀苛;OCP

實(shí)際的設(shè)計(jì)/開發(fā)過程應(yīng)該是: 先做領(lǐng)域模型,理解業(yè)務(wù)上要做什么事情玷氏,期望拿到什么價(jià)值堵未;這個(gè)階段切忌思考 如何抽象接口/類,如何設(shè)計(jì)類盏触; ?第二 考慮 設(shè)計(jì)層面有哪些需要抽象渗蟹,有哪些依賴,具體方法接口如何設(shè)計(jì)耻陕; ?最后才考慮 用哪種模式拙徽,那個(gè)包來實(shí)現(xiàn);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诗宣,一起剝皮案震驚了整個(gè)濱河市膘怕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌召庞,老刑警劉巖岛心,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異篮灼,居然都是意外死亡忘古,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門诅诱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來髓堪,“玉大人,你說我怎么就攤上這事娘荡「膳裕” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵炮沐,是天一觀的道長争群。 經(jīng)常有香客問我,道長大年,這世上最難降的妖魔是什么换薄? 我笑而不...
    開封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮翔试,結(jié)果婚禮上轻要,老公的妹妹穿的比我還像新娘。我一直安慰自己遏餐,他們只是感情好伦腐,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著失都,像睡著了一般柏蘑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上粹庞,一...
    開封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天咳焚,我揣著相機(jī)與錄音,去河邊找鬼庞溜。 笑死革半,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的流码。 我是一名探鬼主播又官,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼漫试!你這毒婦竟也來了六敬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤驾荣,失蹤者是張志新(化名)和其女友劉穎外构,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體播掷,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡审编,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了歧匈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垒酬。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖件炉,靈堂內(nèi)的尸體忽然破棺而出勘究,到底是詐尸還是另有隱情,我是刑警寧澤妻率,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布乱顾,位于F島的核電站,受9級(jí)特大地震影響宫静,放射性物質(zhì)發(fā)生泄漏走净。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一孤里、第九天 我趴在偏房一處隱蔽的房頂上張望伏伯。 院中可真熱鬧,春花似錦捌袜、人聲如沸说搅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弄唧。三九已至适肠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間候引,已是汗流浹背侯养。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留澄干,地道東北人逛揩。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像麸俘,于是被迫代替她去往敵國和親辩稽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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

  • 設(shè)計(jì)模式之六大原則(轉(zhuǎn)載) 關(guān)于設(shè)計(jì)模式的六大設(shè)計(jì)原則的資料網(wǎng)上很多...
    霄霄霄霄閱讀 898評(píng)論 0 1
  • 目錄: 設(shè)計(jì)模式六大原則(1):單一職責(zé)原則 設(shè)計(jì)模式六大原則(2):里氏替換原則 設(shè)計(jì)模式六大原則(3):依賴倒...
    加油小杜閱讀 724評(píng)論 0 1
  • 設(shè)計(jì)模式六大原則 設(shè)計(jì)模式六大原則(1):單一職責(zé)原則 定義:不要存在多于一個(gè)導(dǎo)致類變更的原因从媚。通俗的說逞泄,即一個(gè)類...
    viva158閱讀 765評(píng)論 0 1
  • 轉(zhuǎn)載標(biāo)注聲明:http://www.uml.org.cn/sjms/201211023.asp 目錄:[設(shè)計(jì)模式六...
    Bloo_m閱讀 707評(píng)論 0 7
  • 前言 設(shè)計(jì)模式六大原則網(wǎng)上資料比較多比較亂,本文將網(wǎng)上的一些好的資料做一下整理静檬,以便隨時(shí)翻閱炭懊。友情提示,設(shè)計(jì)模式雖...
    簡單的土豆閱讀 1,431評(píng)論 0 10