2022年1月22日 星期六

[Geroge]設計模式-目錄

設計模式(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


沒有留言:

張貼留言

[leetcode] [KMP] KMP

ABCDABD... ABCDABF... 簡單的說, 傳統解兩字串匹配部分 可能會來個雙迴圈, 哀個比對, 當不匹配的時候, 會將下方列再後移1位 然後不匹配再後移 然而 如果像上放已經有4個屬於匹配的字串, 她就應該直接往後移四位來匹配, 而不是只移動1位 隱藏的思維是, 當...