摘要:設(shè)計(jì)模式提供六個(gè)基本原則,分別是開(kāi)閉原則單一職責(zé)原則里氏替換原則依賴倒置原則接口隔離原則迪米特法則開(kāi)閉原則對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉。總結(jié)六大設(shè)計(jì)原則是代碼設(shè)計(jì)的基本原則。
JAVA設(shè)計(jì)模式提供六個(gè)基本原則,分別是:
開(kāi)閉原則(OCP) - The Open-Closed Principle
單一職責(zé)原則(SRP) - Single Responsibility Principle
里氏替換原則(LSP) - Liskov Substitution Principle
依賴倒置原則(DIP) - Dependency Inversion Principle
接口隔離原則(ISP) - Interface Segregation Principle
迪米特法則(DP) - Demeter Principle
開(kāi)閉原則對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉。
開(kāi)閉原則宗旨是在已有系統(tǒng)基礎(chǔ)上進(jìn)行開(kāi)發(fā),不要對(duì)正常運(yùn)行的代碼進(jìn)行修改操作。需要擴(kuò)展需求時(shí),通過(guò)添加新類或者新代碼來(lái)實(shí)現(xiàn),對(duì)已有代碼做到最少修改,甚至是零修改。
接口或類只提供一種業(yè)務(wù)實(shí)現(xiàn)。
單一職責(zé)原則宗旨是每個(gè)接口、類的功能,只能用來(lái)做專門(mén)的事,強(qiáng)調(diào)系統(tǒng)內(nèi)業(yè)務(wù)職責(zé)唯一,避免職責(zé)擴(kuò)散,做到業(yè)務(wù)統(tǒng)一管理。
使用父類的地方可以用子類來(lái)替換。
里氏替換原則宗旨是子類盡量不要重寫(xiě)父類或者接口中已經(jīng)實(shí)現(xiàn)的方法,即子類和父類邏輯保持一致性。
面向抽象編程,即通過(guò)接口或者抽象類提供依賴關(guān)系。
依賴倒置原則宗旨是指各個(gè)業(yè)務(wù)模塊之間依賴關(guān)系,通過(guò)約定的接口或者抽象類來(lái)實(shí)現(xiàn),不涉及具體的實(shí)現(xiàn)細(xì)節(jié),細(xì)節(jié)交給具體的實(shí)現(xiàn)類來(lái)完成。
JAVA實(shí)現(xiàn)依賴倒置的方式有三種:
構(gòu)造方法
setter方法
接口注入
接口隔離原則接口中的方法和屬性都是實(shí)現(xiàn)類所需要,沒(méi)有額外無(wú)用信息。
接口隔離原則宗旨是接口的完美復(fù)用,接口的內(nèi)容對(duì)于實(shí)現(xiàn)來(lái)說(shuō)無(wú)冗余代碼。
迪米特原則又叫最少知道原則,核心思想是低耦合,高內(nèi)聚。
迪米特原則宗旨是弱化代碼(通常指類)之間的依賴關(guān)系。
六大設(shè)計(jì)原則是代碼設(shè)計(jì)的基本原則。設(shè)計(jì)原則規(guī)范了開(kāi)發(fā)人員如何去設(shè)計(jì)和實(shí)現(xiàn)代碼,來(lái)提高程序的規(guī)范性、可讀性、擴(kuò)展性和維護(hù)性。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/70655.html
摘要:前言關(guān)于設(shè)計(jì)模式,想必大家的第一感覺(jué)就是過(guò)于高深,有點(diǎn)虛吧。為什么要學(xué)習(xí)設(shè)計(jì)模式因?yàn)橐b逼啊咳咳,大家請(qǐng)忽略前面那句話。處處都是設(shè)計(jì)模式的體現(xiàn),所以若想攻下,設(shè)計(jì)模式是必學(xué)的。下節(jié)預(yù)告單例模式 前言 關(guān)于設(shè)計(jì)模式,想必大家的第一感覺(jué)就是過(guò)于高深,有點(diǎn)虛吧。相對(duì)來(lái)說(shuō),我們還是更熟悉ssh或者ssm之類的開(kāi)發(fā)框架,一個(gè)工具用久了就會(huì)熟能生巧,就像刷漆工,時(shí)間長(zhǎng)了也知道如何刷的一手漂亮的好墻...
摘要:依賴倒置原則是個(gè)設(shè)計(jì)原則中最難以實(shí)現(xiàn)的原則,它是實(shí)現(xiàn)開(kāi)閉原則的重要途徑,依賴倒置原則沒(méi)有實(shí)現(xiàn),就別想實(shí)現(xiàn)對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉。 1、單一職能原則(Single Responsibility Principle, SRP) 定義 There should never be more than one reason for a class to change.應(yīng)該有且僅有一個(gè)原因引起類的...
摘要:當(dāng)然,除了讓我們顯得更加專業(yè)之外,在自己所學(xué)習(xí)或者工作的項(xiàng)目中,適當(dāng)合理的使用設(shè)計(jì)模式,能夠給項(xiàng)目帶來(lái)很大的好處。 簡(jiǎn)單說(shuō)兩句 本文首發(fā)公眾號(hào)【一名打字員】 對(duì)不住各位老鐵了,年前說(shuō)好要更幾波JAVA的東西,又偷懶了,沒(méi)辦法,在這里用小錘錘偷偷錘了自己幾下。由于工作原因,更新時(shí)間不定,各位老鐵有問(wèn)題可以私聊我哈。 對(duì)于初學(xué)者或者是正在向中高級(jí)的Java程序猿(打字員)來(lái)說(shuō),時(shí)刻梳理自己...
摘要:首先先祝大家國(guó)慶節(jié)快樂(lè)今天距離為我運(yùn)營(yíng)公眾號(hào)已經(jīng)一個(gè)月了,今天把文章整合一下,希望對(duì)大家有幫助,也謝謝朋友的支持,我會(huì)繼續(xù)堅(jiān)持原創(chuàng),寫(xiě)更好的文章給大家一視頻獲取學(xué)習(xí)資源分享合集二功能篇實(shí)現(xiàn)金額的語(yǔ)音播報(bào)功能基于模式風(fēng)格的封裝之路炫酷動(dòng)畫(huà)跳 showImg(https://segmentfault.com/img/remote/1460000011437678?w=900&h=500);...
摘要:首先先祝大家國(guó)慶節(jié)快樂(lè)今天距離為我運(yùn)營(yíng)公眾號(hào)已經(jīng)一個(gè)月了,今天把文章整合一下,希望對(duì)大家有幫助,也謝謝朋友的支持,我會(huì)繼續(xù)堅(jiān)持原創(chuàng),寫(xiě)更好的文章給大家一視頻獲取學(xué)習(xí)資源分享合集二功能篇實(shí)現(xiàn)金額的語(yǔ)音播報(bào)功能基于模式風(fēng)格的封裝之路炫酷動(dòng)畫(huà)跳 showImg(https://segmentfault.com/img/remote/1460000011437678?w=900&h=500);...
閱讀 1557·2021-11-17 09:33
閱讀 1106·2021-11-12 10:36
閱讀 2419·2019-08-30 15:54
閱讀 2443·2019-08-30 13:14
閱讀 2918·2019-08-26 14:05
閱讀 3294·2019-08-26 11:32
閱讀 3006·2019-08-26 10:09
閱讀 3001·2019-08-26 10:09