1 、知道了原理和思想,敲代碼事盡量去用設計模式的思想去寫。
2、總共有 23 種設計模式。這些模式可以分為三大類:
創建型模式(Creational Patterns)、
結構型模式(Structural Patterns)、
行為型模式(Behavioral Patterns)。
當然,我們還會討論另一類設計模式:J2EE 設計模式。
提前了解:
一、 Creational patterns
創建型模式(Creational Pattern):對類的實例化過程進行了抽象,能夠將軟件模塊中對象的創建和對象的使用分離。為了使軟件的結構更加清晰,外界對于這些對象只需要知道它們共同的接口,而不清楚其具體的實現細節,使整個系統的設計更加符合單一職責原則
。
創建型模式在創建什么(What),由誰創建(Who),在何時創建(When)
簡單工廠模式(Simple Factory)
工廠方法模式(Factory Method)
抽象工廠模式(Abstract Factory)
建造者模式(Builder)
原型模式(Prototype)
單例模式(Singleton)
2、Structural Pattern
描述如何將類或者對象
結合在一起形成更大的結構,就像搭積木,可以通過 簡單積木的組合形成復雜的、功能更為強大的結構。結構型模式可以分:
- 類結構型模式:類結構型模式關心類的組合,由多個類可以組合成一個更大的
- 對象結構型模式:
適配器模式(Adapter)
橋接模式(Bridge)
組合模式(Composite)
裝飾模式(Decorator)
外觀模式(Facade)
享元模式(Flyweight)
代理模式(Proxy)
3、行為型模式(Behavioral Pattern)
是對在不同的對象之間劃分責任和算法
的抽象化。
行為型模式不僅僅關注類和對象的結構,而且重點關注它們之間的相互作用
。
通過行為型模式,可以更加清晰地劃分類與對象的職責,并研究系統在運行時實例對象 之間的交互。在系統運行時,對象并不是孤立的,它們可以通過相互通信與協作完成某些復雜功能,一個對象在運行時也將影響到其他對象的運行。
行為型模式分為類行為型模式和對象行為型模式兩種
:
類行為型模式:類的行為型模式使用繼承關系在幾個類之間分配行為,類行為型模式主要通過多態等方式來分配父類與子類的職責。
對象行為型模式:對象的行為型模式則使用對象的聚合關聯關系來分配行為,對象行為型模式主要是通過對象關聯等方式來分配兩個或多個類的職責。根據“合成復用原則”,系統中要盡量使用關聯關系來取代繼承關系,因此大部分行為型設計模式都屬于對象行為型設計模式。
職責鏈模式(Chain of Responsibility)
命令模式(Command)
解釋器模式(Interpreter)
迭代器模式(Iterator)
中介者模式(Mediator)
備忘錄模式(Memento)
觀察者模式(Observer)
狀態模式(State)
策略模式(Strategy)
模板方法模式(Template Method)
訪問者模式(Visitor)
感謝:
https://design-patterns.readthedocs.io/zh_CN/latest/behavioral_patterns/behavioral.html
http://www.runoob.com/design-pattern/design-pattern-intro.html