1.單一職責(zé)原則(srp single responsibility principle)?
通過業(yè)務(wù)職責(zé)宏浩,業(yè)務(wù)功能進行接口的設(shè)計壮韭。理解為根據(jù)最小業(yè)務(wù)邏輯功能番川。做行為和屬性的區(qū)分濒募。來達到接口的單一職責(zé)帕膜。
2.里氏替換原則
定義:如果對每一個類型S的對象o1,都有類型為T的對象o2拦宣,使得以T定義的所有程序P在所有的對象o1都代換成o2時截粗,程序p的行為沒有發(fā)生變化,那么類型S是類型T的子類型鸵隧。?
通俗理解就是父類在程序中任何地方出現(xiàn)绸罗,那么子類也可以出現(xiàn)。反之則不習(xí)慣豆瘫,A是B的子類 那么在java中實例化可以 B? a = new A珊蟀;?
3.依賴倒置原則(面向接口編程)
定義:1.高層模塊不應(yīng)該依賴底層模塊,兩者都應(yīng)該依賴其抽象外驱, 2.抽象不應(yīng)該依賴細(xì)節(jié)育灸。3.細(xì)節(jié)應(yīng)該依賴抽象。
理解就是 一個功能模塊是由子功能模塊構(gòu)成昵宇。那么同層模塊之間通過抽象和接口進行構(gòu)建依賴關(guān)系磅崭。那么子功能模塊也是通過抽象和接口依賴高層模塊。細(xì)節(jié)依賴抽象瓦哎。 可以理解為 就是接口或者抽象類 和 他們實現(xiàn)類的關(guān)系砸喻。?
依賴的三種寫法:構(gòu)造函數(shù)依賴注入,setter 方法依賴注入蒋譬,接口依賴注入割岛。
4.接口隔離原則
接口隔離定義:客戶端不應(yīng)該依賴它不需要的接口 。類間的依賴關(guān)系應(yīng)該建立在最小的接口上犯助。
理解為:冗余不必要的接口要移除癣漆。接口盡量精簡和少。
5.迪米特法則 Law of Demeter,LoD 最少原則
粗淺理解就是類內(nèi)部除非必須曝露給其他實例的數(shù)據(jù)和方法剂买,其他的不曝露出來惠爽。也就是低耦合 高類聚的一個表現(xiàn)癌蓖。?
6.開閉原則
對變化采用擴展方式在適應(yīng)變化,關(guān)閉對原有模塊的修改疆股。