設計模式(Design pattern)-是一套被反復使用, 多數人知曉, 經過分類編目的, 程式設計經驗的總結, 使用設計模式是為了可重用程式碼, 讓程式碼更容易被他人理解, 保證程式碼可靠性, 毫無疑問, 設計模式於己於人於系統都是多贏的, 設計模式使程式碼編程真正工程化, 設計模式是軟體工程的基石脈絡
* <Design Patterns: Elements of Reusable Object-Oriented Software>
* GoF(Gang of Four)
* 設計模式也都是符合OOD基本原則
設計模式分類-創建型模式
社會化的分工越來越細, 自然軟體設計方面也是如此, 因此對象的創建和對象的使用分開也就成為必然趨勢, 因為對象的創建會消耗掉系統很多資源, 所以單獨對對象創建進行研究, 從而能夠高效地創建對象就是創建型模式要探討的問題, 這裡有六個具體的創建型模式可供研究, 它們分別是:
簡單工廠模式 Simple Factory 嚴格說這個不是Gof提出的23種模式之一
工廠方法模式 Factory Method
抽象工廠模式 Abstract Factory
創建者模式 Builder
原型模式 Prototype
單例模式 Singleton
設計模式分類-結構型模式
在解決了對象的創見問題之後, 對象的組成以及對象之間的依賴關係就成了開發人員關注的焦點, 因為如何設計對象的結構, 繼承和依賴關係會影響到後續程式的維護性, 代碼的健壯性, 耦合性等, 對象結構的設計很容易體現出設計人員水平的高低, 這裡有七個具體的結構型模式, 它們分別是:
外觀模式(Facade)
適配器模式(Adapter)
代理模式(Proxy)
裝飾模式(Decorator)
橋接模式(Bridge)
組合模式(Composite)
享元模式(Flyweight)
設計模式分類-行為型模式
在對象的結構和對象的創建問題都解決了之後, 就剩下對象的行為問題了, 如果對象的行為設計的好, 那麼對象的行為就會更清晰, 它們之間的協作效率就會提高, 它們分別是
模板方法模式(Template Method)
觀察者模式(Observer)
狀態模式(State)
策略模式(Strategy)
職責鏈模式(Chain of Responsibility)
命令模式(Command)
訪問者模式(Visitor)
中介者模式(Mediator)
備忘錄模式(Memto)
疊代器模式(Iterator)
解釋器模式(Interpreter)
https://www.youtube.com/watch?v=w-BlQ5tsZfU&list=PLGmd9-PCMLhb16ZxeSy00qUsBazXgJyfM&index=10
https://github.com/iw5420/geroge-design-pattern
沒有留言:
張貼留言