您好,登錄后才能下訂單哦!
這篇文章主要介紹設(shè)計(jì)模式有哪些設(shè)計(jì)原則,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
設(shè)計(jì)模式六大原則:1、單一原則;2、里氏替換原則;3、依賴(lài)倒置原則;4、接口隔離原則;5、迪米特原則;6、開(kāi)閉原則。
設(shè)計(jì)模式六大原則:
1、單一原則(Single Responsibility Principle):一個(gè)類(lèi)或者一個(gè)方法只負(fù)責(zé)一項(xiàng)職責(zé),盡量做到類(lèi)的只有一個(gè)行為原因引起變化;
a、業(yè)務(wù)對(duì)象(BO business object)、業(yè)務(wù)邏輯(BL business logic)拆分;
2、里氏替換原則(LSP liskov substitution principle):子類(lèi)可以擴(kuò)展父類(lèi)的功能,但不能改變?cè)懈割?lèi)的功能;(本質(zhì)其實(shí)就是c++的多態(tài))
?。康模涸鰪?qiáng)程序的健壯性)實(shí)際項(xiàng)目中,每個(gè)子類(lèi)對(duì)應(yīng)不同的業(yè)務(wù)含義,使父類(lèi)作為參數(shù),傳遞不同的子類(lèi)完成不同的業(yè)務(wù)邏輯。
3、依賴(lài)倒置原則(dependence inversion principle):面向接口編程;(通過(guò)接口作為參數(shù)實(shí)現(xiàn)應(yīng)用場(chǎng)景)
抽象就是接口或者抽象類(lèi),細(xì)節(jié)就是實(shí)現(xiàn)類(lèi)
含義:
上層模塊不應(yīng)該依賴(lài)下層模塊,兩者應(yīng)依賴(lài)其抽象;
抽象不應(yīng)該依賴(lài)細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴(lài)抽象;
通俗點(diǎn)就是說(shuō)變量或者傳參數(shù),盡量使用抽象類(lèi),或者接口;
【接口負(fù)責(zé)定義public屬性和方法,并且申明與其他對(duì)象依賴(lài)關(guān)系,抽象類(lèi)負(fù)責(zé)公共構(gòu)造部分的實(shí)現(xiàn),實(shí)現(xiàn)類(lèi)準(zhǔn)確的實(shí)現(xiàn)業(yè)務(wù)邏輯】
4、接口隔離原則(interface segregation principle):建立單一接口;(擴(kuò)展為類(lèi)也是一種接口,一切皆接口)
定義:
a.客戶(hù)端不應(yīng)該依賴(lài)它不需要的接口;
b.類(lèi)之間依賴(lài)關(guān)系應(yīng)該建立在最小的接口上;
簡(jiǎn)單理解:復(fù)雜的接口,根據(jù)業(yè)務(wù)拆分成多個(gè)簡(jiǎn)單接口;(對(duì)于有些業(yè)務(wù)的拆分多看看適配器的應(yīng)用)
【接口的設(shè)計(jì)粒度越小,系統(tǒng)越靈活,但是靈活的同時(shí)結(jié)構(gòu)復(fù)雜性提高,開(kāi)發(fā)難度也會(huì)變大,維護(hù)性降低】
5、迪米特原則(law of demeter LOD):最少知道原則,盡量降低類(lèi)與類(lèi)之間的耦合;
一個(gè)對(duì)象應(yīng)該對(duì)其他對(duì)象有最少的了解
6、開(kāi)閉原則(open closed principle):用抽象構(gòu)建架構(gòu),用實(shí)現(xiàn)擴(kuò)展原則;
以上是“設(shè)計(jì)模式有哪些設(shè)計(jì)原則”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。