1.六大設(shè)計(jì)原則

1.1單一職責(zé)原則

案例1:將不區(qū)分類屬性與行為的類个粱,如IUserInfo接口拆分為BO古毛,BIZ兩個(gè)接口。需要使用BO都许,就將接口對(duì)象轉(zhuǎn)換為具體的接口稻薇。

定義:?jiǎn)我宦氊?zé)原則(SRP,Single Responsibility Principe)的定義是:應(yīng)該有且僅有一個(gè)原因引起類的變更胶征。

案例2:電話撥號(hào)類的劃分

單一職責(zé)原則的優(yōu)勢(shì):類的復(fù)雜性降低了塞椎,可讀性增加,可維護(hù)性提高睛低,變更引起的風(fēng)險(xiǎn)降低

注意 單一職責(zé)原則提出了一個(gè)編寫程序的標(biāo)準(zhǔn)案狠,用“職責(zé)”或“變化原因”來衡量接口或類設(shè)計(jì)得是否優(yōu)良蹬敲,但是“職責(zé)”和“變化原因”都是不可度量的,因項(xiàng)目而異莺戒,因環(huán)境而異伴嗡。

案例3:高粒度的“修改用戶信息方法”!

編者按:之所以對(duì)此印象深刻是因?yàn)樽罱鼘?shí)訓(xùn)做的電商后臺(tái)平臺(tái)充斥著大量的諸如此類的代碼从铲,很感謝能夠及時(shí)發(fā)現(xiàn)這樣的問題

與現(xiàn)實(shí)的妥協(xié)

1.2里氏替換原則

OO中繼承的優(yōu)點(diǎn):代碼共享瘪校,減少了創(chuàng)建類的工作量;提高了代碼的重用性名段;子類與父類有相似也有不同阱扬;提高了代碼的可擴(kuò)展性,比如版本升級(jí)產(chǎn)生的向下兼容伸辟;提高了產(chǎn)品與項(xiàng)目的開放性麻惶;

OO中繼承的缺點(diǎn):繼承是侵入性的,只要繼承必須擁有父類的屬性與方法信夫;繼承也是子類的約束窃蹋,降低了代碼的靈活性;繼承增加了父類子類的耦合性静稻,當(dāng)父類修改變量或方法時(shí)警没,要考慮子類的修改

里氏替換原則的定義:所有引用基類的地方必須能透明地使用其子類的對(duì)象

定義包含的四層規(guī)范

第一,子類必須完全實(shí)現(xiàn)父類的方法


第二振湾,子類出現(xiàn)的地方并不一定可以被父類替換杀迹。

第三,子類方法可以放大參數(shù)范圍

第四押搪,子類方法可以縮小返回值范圍

里氏替換原則的優(yōu)點(diǎn):增加程序的健壯性树酪,版本升級(jí)時(shí)仍有很好的兼容性;即使增加了子類大州,原有類也可以繼續(xù)運(yùn)行续语;在實(shí)際項(xiàng)目中,每個(gè)子類對(duì)應(yīng)不同的業(yè)務(wù)含義摧茴,使用父類作為參數(shù)绵载,傳遞不同的子類完成不同的業(yè)務(wù)邏輯

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市苛白,隨后出現(xiàn)的幾起案子娃豹,更是在濱河造成了極大的恐慌,老刑警劉巖购裙,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件懂版,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡躏率,警方通過查閱死者的電腦和手機(jī)躯畴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門民鼓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蓬抄,你說我怎么就攤上這事丰嘉。” “怎么了嚷缭?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵饮亏,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我阅爽,道長(zhǎng)路幸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任付翁,我火速辦了婚禮简肴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘百侧。我一直安慰自己砰识,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布移层。 她就那樣靜靜地躺著仍翰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪观话。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天越平,我揣著相機(jī)與錄音频蛔,去河邊找鬼。 笑死秦叛,一個(gè)胖子當(dāng)著我的面吹牛晦溪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挣跋,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼三圆,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了避咆?” 一聲冷哼從身側(cè)響起舟肉,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎查库,沒想到半個(gè)月后路媚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡樊销,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年整慎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了脏款。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡裤园,死狀恐怖撤师,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拧揽,我是刑警寧澤丈氓,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站强法,受9級(jí)特大地震影響万俗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜饮怯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一闰歪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蓖墅,春花似錦库倘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至贪壳,卻和暖如春饱亿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背闰靴。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工彪笼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蚂且。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓配猫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親杏死。 傳聞我的和親對(duì)象是個(gè)殘疾皇子泵肄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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

  • 設(shè)計(jì)模式概述 在學(xué)習(xí)面向?qū)ο笃叽笤O(shè)計(jì)原則時(shí)需要注意以下幾點(diǎn):a) 高內(nèi)聚、低耦合和單一職能的“沖突”實(shí)際上淑翼,這兩者...
    彥幀閱讀 3,743評(píng)論 0 14
  • 單一職責(zé)原則 (SRP) 全稱 SRP , Single Responsibility Principle 單一職...
    米莉_L閱讀 1,765評(píng)論 2 5
  • 轉(zhuǎn)載自 設(shè)計(jì)模式六大原則[http://www.uml.org.cn/sjms/201211023.asp#3] ...
    廚子閱讀 1,096評(píng)論 2 5
  • 設(shè)計(jì)模式六大原則 設(shè)計(jì)模式六大原則(1):?jiǎn)我宦氊?zé)原則 定義:不要存在多于一個(gè)導(dǎo)致類變更的原因腐巢。通俗的說,即一個(gè)類...
    viva158閱讀 766評(píng)論 0 1
  • 李湘 總裁李湘窒舟,世界女強(qiáng) 多才多藝系忙,名流上榜 身價(jià)上億,豪宅上檔 不次冰冰惠豺,超過女皇 名牌纏身银还,月費(fèi)女王 風(fēng)生水起...
    旖旎i閱讀 648評(píng)論 2 17