單一職責原則編程
核心設計模式
一個類只負責一項職責框架
優勢ide
實例工具
交通工具測試
分爲輪船,飛機、汽車。每一個類實現一個職責設計
DAO類code
一個DAO負責一個表的增刪改查。對象
代碼繼承
代碼部分參考了尚硅谷韓順平老師的內容。
/** * @program:design_pattern * @descript:公路 * @author: luyongjian746 * @create: 2020-02-11 */ public class Road { public void run(String vehicle) { System.out.println(vehicle + "在公路上跑"); } }
/** * @program:design_pattern * @descript:天空 * @author: luyongjian746 * @create: 2020-02-11 */ public class Sky { public void run(String vehicle) { System.out.println(vehicle + "在空中飛"); } }
/** * @program:design_pattern * @descript:海 * @author: luyongjian746 * @create: 2020-02-11 */ public class Sea { public void run(String vehicle) { System.out.println(vehicle + "在海中航行"); } }
/** * @program:design_pattern * @descript:測試 * @author: luyongjian746 * @create: 2020-02-11 */ public class Test { public static void main(String[] args) { Road road = new Road(); road.run("汽車"); Sky sky = new Sky(); sky.run("飛機"); Sea sea = new Sea(); sea.run("輪船"); } }
結果:
汽車在公路上跑 飛機在空中飛 輪船在海中航行
接口隔離原則
核心
客戶端不該該依賴於他不須要的接口。即一個類對另一個類的依賴,應該創建在最小的接口上。
將大接口拆解成多個小的接口。
優勢
實例
依賴倒置原則
裏式替換原則
核心
子類繼承父類時儘可能不要重寫父類的方法。
優勢
實例
開閉原則
核心
對擴展開放,對修改關閉。用抽象構建框架,用實現擴展細節。
優勢
實例
迪米特法則
核心
一個類應該對其餘對象保持最小的瞭解。
若是不是直接朋友,在一個方法中出現了其餘類的局部變量,就違反了迪米特法則。
直接朋友是指,某方法的參數,返回值所使用的類,則此類爲該方法所屬類的直接朋友。
優勢
實例
合成複用原則
核心
儘可能使用合成或複用代替繼承。
合成:A類做爲成員變量或者參數的形式出如今B類
複用:A類以new A()的方式出如今B類中
優勢
實例