一嘹锁、單一職責(zé)原則SRP(Single Responsibility Principle)
一個(gè)類只負(fù)責(zé)一個(gè)功能領(lǐng)域的相應(yīng)職責(zé)呆盖,即就一個(gè)類而言呢灶,應(yīng)該只有一個(gè)引起它變化的原因曾雕。
單一職責(zé)原則是實(shí)現(xiàn)高內(nèi)聚和措、低耦合的指導(dǎo)方針庄呈,它是最簡單但又最難運(yùn)用的原則。
二派阱、開閉原則OCP(Open-Closed Principle)
開閉原則簡單總結(jié)就是對擴(kuò)展開放诬留,對修改關(guān)閉。我們在日常開發(fā)中,要降低各模塊的耦合性文兑,降低相互間引用盒刚。當(dāng)新增功能的時(shí)候,只需要增加對應(yīng)模塊而不用修改原有的邏輯類绿贞。
三因块、里氏替換原則(Liskov Substitution Principle)
里氏替換原則就是說子類可以擴(kuò)展父類的功能,但不要改變父類原有的功能
四樟蠕、依賴倒置原則(Dependency Inversion Principle)
依賴倒置原則的是意思是抽象不應(yīng)該依賴于細(xì)節(jié)贮聂,細(xì)節(jié)應(yīng)當(dāng)依賴于抽象,要針對接口編程寨辩,而不是針對實(shí)現(xiàn)編程吓懈。
依賴倒置原則要求我們在程序代碼中傳遞參數(shù)時(shí)或在關(guān)聯(lián)關(guān)系中,盡量引用層次高的抽象層類靡狞,即使用接口或抽象類進(jìn)行變量類型聲明耻警、參數(shù)類型聲明、方法返回類型聲明甸怕,以及數(shù)據(jù)類型的轉(zhuǎn)換等甘穿,而不要用具體類來做這些事情。為了確保該原則的應(yīng)用梢杭,一個(gè)具體類應(yīng)當(dāng)只實(shí)現(xiàn)接口或抽象類中聲明過的方法温兼,而不要給出多余的方法,否則將無法調(diào)用到在子類中增加的新方法武契。
五募判、接口隔離原則ISP(Interface Segregation Principle)
使用多個(gè)專門的接口,而不使用單一的總接口咒唆,即客戶端不應(yīng)該依賴那些它不需要的接口届垫。設(shè)計(jì)接口功能盡量細(xì)膩化,最小功能單元全释。
六装处、迪米特法則
降低耦合,減少類中相互引用浸船。一個(gè)實(shí)體類應(yīng)當(dāng)盡可能少地與其他實(shí)體類發(fā)生交互作用妄迁。如果一個(gè)系統(tǒng)符合迪米特法則,那么當(dāng)其中某一個(gè)模塊發(fā)生修改時(shí)李命,就會(huì)盡量少地影響其他模塊登淘,擴(kuò)展會(huì)相對容易,這是對軟件實(shí)體之間通信的限制项戴,迪米特法則要求限制軟件實(shí)體之間通信的寬度和深度形帮。迪米特法則可降低系統(tǒng)的耦合度槽惫,使類與類之間保持松散的耦合關(guān)系周叮。