志宇-设计模式
設計模式
- 源碼
- 七個設計原則
- 一、單一職責原則
- 二、里氏替換原則
- 三、依賴倒置原則
- 四、接口隔離原則
- 五、迪米特法則
- 六、開閉原則(最核心)
- 七、合成復用原則
- 一、設計模式的分類
- 狀態模式
- 場景
- 設計方案
源碼
七個設計原則
一、單一職責原則
思想
一個類 作一類事情 (不然高內聚)
二、里氏替換原則
思想
盡量不要重寫父類中已經存在的方法
三、依賴倒置原則
思想
將一個對象(類)傳入到另一個類中,要通過這個類的接口或者抽象進行接收(當添加一個功能時直接再寫一個接口實現類傳入即可)
代碼
四、接口隔離原則
思想
實現接口,要求實現的方法都有用,不要實現多余的方法 (將接口拆分,然后分別實現)
五、迪米特法則
與本類為朋友關系的類為:
1.本類成員變量
2.本類方法中傳入參數
3.本類方法中返回參數
思想
如果在本類中出現非朋友關系的類,那么就違反了迪米特法則
(相當于 將不是本類的代碼寫在了本類中,目的不要將自己的代碼暴漏給別的類)
六、開閉原則(最核心)
思想
當開發好框架,當有新需求時 只用寫幾個實現類即可完成需求(通過擴展實現需求)
代碼
七、合成復用原則
思想
盡量使用組合/聚合,少用繼承 (因java單繼承,繼承后擴展性降低)
替換繼承的方法
1.通過子類的構造方法將父類對象傳遞給子類
2.通過子類的set方法將父類對象傳遞給子類
3.在子類中創建父類對象,然后子類調用父類中的方法
一、設計模式的分類
總體來說設計模式分為三大類:
創建型模式(創建對象上使用的模型),共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
結構型模式(代碼結構的模型),共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。
行為型模式(方法的模型),共十一種:策略模式、模板方法模式、觀察者模式、迭代器模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。
狀態模式
簡單來說:就是根據不同狀態(參數),會有不同的行為(方法)
從而減少 if else 的使用
場景
有一個借貸平臺,它要給別人貸款
貸款有一系列流程,在每個流程都有不同的狀態(生成訂單、審核、發布、代付款、付款、已付款、完結) 這時候就要用到狀態模式的思想了,不然寫的代碼會很亂同時不方便維護
設計方案
總結
- 上一篇: 志宇-mysql优化
- 下一篇: 送给佳佳同学的礼物:测试用例设计