/**
* 作者:wanglei
* 郵箱:229846388@qq.com
* Explain 設計模式解析
*/
public classExplain {
/**
* 定義:
* 1.某類特定問題的代碼設計解決方案
* 2.是一套代碼設計的經驗總結
* 作用:
* 1.提高代碼復用率,降低開發成本和周期
* 2.提高代碼可維護性、可拓展性
* 3.使代碼更加優雅
* 4.讓代碼更容易被他人理解
* 設計模式的設計原則:
* 1.單一職責原則:一個類=只有一個引起它變化的原因。
* 說明:如果一個類承擔的職責過多,即耦合性太高=一個職責的變化可能會影響到其他的職責
* 2.開放封閉原則:一個實體(類、函數、模塊等)應該對外擴展開放,對內修改關閉
* 說明:1.即每次發生變化時,要通過添加新的代碼來增強現有類型的行為,而不是修改原有的代碼。2.符合開放封閉原則的最好方式是提供一個固有的接口,然后讓所有可能發生變化的類實現該接口,讓固定的接口與相關對象進行交互。
* 3.里氏代替原則:子類必須替換掉它們的父類型。
* 說明:1.在軟件開發過程中,子類替換父類后,程序的行為是一樣的。2.只有當子類替換掉父類后軟件的功能不受影響時,父類才能真正地被復用,而子類也可以在父類的基礎上添加新的行為。
* 4.依賴倒置原則:細節應該依賴于抽象,而抽象不應該依賴于細節。
* 說明:所謂的的 “面向接口編程,而不是面向實現編程”。這樣可以降低客戶與具體實現的耦合。
* 5.接口隔離原則:使用多個專門功能的接口,而不是使用單一的總接口。
* 說明:不要讓一個單一的接口承擔過多的職責,而應把每個職責分離到多個專門的接口中,進行接口分離。
* 6.合成復用原則:在一個新的對象里面使用一些已有的對象,使之成為新對象的一部分。
* 說明:新對象通過向這些對象的委派達到復用已用功能的目的。簡單地說,就是要盡量使用合成/聚合,盡量不要使用繼承。
* 7.最少知識原則(迪米特法則):一個模塊或對象應盡量少的與其他實體之間發生相互作用,使得系統功能模塊相對獨立,這樣當一個模塊修改時,影響的模塊就會越少,擴展起來更加容易。
* 說明:1.關于迪米特法則的其他描述:只與你直接的朋友們通信;不要跟“陌生人”說話。2.外觀模式(Facade Pattern)和中介者模式(Mediator Pattern)就使用了迪米特法則。
*/
/**
* 設計模式分類:共3大類-23種設計模式
*
* 第一類:創建類:
* 本質:創建對象的模式:對類的實例化進行抽象
* 特點:
* 1.封裝了類的具體信息
* 2.隱藏了類的實例化過程
* 5種設計模式:
* 1.單例模式(Singleton)
* 2.工廠方法模式(Factory Method)
* 3.抽象工廠模式(Abstract Factory)
* 4.建造者模式(Builder)
* 5.原始模式(Prototype)
*
* 第二類:結構類:
* 本質:處理類或對象的組合
* 倆種類型:
* 1.類結構型:采用繼承機制來組合接口實現
* 2.對象結構型:組合對象的方式來實現新功能
* 7種設計模式:
* 1.適配器模式(Adapter)
* 2.橋梁模式(Bridge)
* 3.裝飾模式(Decorator)
* 4.門面模式(Facade)
* 5.合成模式(Composlte)
* 6.享元模式(Flyweight)
* 7.代理模式(Proxy)
*
* 第三類:行為類:
* 本質:對在不同的對象之間劃分責任和算法的抽象化
* 倆種類型:
* 1.類的行為模式:使用繼承方式在幾個類之間分配行為
* 2.對象的行為模式:使用對象聚合的方式來分配行為
* 11種設計模式:
* 1.模板方法模式(Template Method)
* 2.命令模式(Command)
* 3.迭代器模式(Iterator)
* 4.觀察者模式(Observer)
* 5.調停者模式(Meditor)
* 6.狀態模式(State)
* 7.策略模式(Strategy)
* 8.責任鏈模式(Chain Of Responsibility)
* 9.訪問者模式(Visitor)
* 10.備忘錄模式(Memento)
* 11.解釋器模式(Interpreter)
*/
}
image.png