我眼中的設計模式(三)
各種模式之間都有一定的聯絡,以面向物件為基礎,運用類的概念設計模式,充分體現封裝、繼承和多型的特性。
另外幾種設計模式這裡不一一介紹了,今天這篇部落格談一下設計模式的分類:
一、 建立型模式:
在軟體設計當中,系統設計模式中的分工也非常重要,物件的建立和使用的分開也成了面向物件程式設計的核心內容。物件的建立消耗系統資源,如果單獨的對物件的建立進行研究,從而能夠高效的建立物件就是建立型模式要討論的問題。
簡單工廠模式(SimpleFactory);
工廠方法模式(FactoryMethod);
抽象工廠模式(AbstractFactory);
建立者模式(Builder);
原型模式(Prototype);
單例模式(Singleton)。
二、 結構性模式:
在物件建立好以後,物件的組成以及物件之間的依賴關係就成了重點討論的東西,因為如何設計物件的結構、繼承和依賴關係會影響到後續程式的危害性、程式碼的健壯性、耦合性等。
外觀模式(Facade);
介面卡模式(Adapter);
代理模式(Proxy);
裝飾模式(Decorator);
橋接模式(Bridge);
享元模式(Flyweight);
組合模式(Composite);
三、 行為型模式:
在物件的建立和結構都設計好以後,就要關心物件的行為問題了,如果物件的行為設計的好,那麼物件的行為就會更清晰,它們之間的寫作效率就會提高。
模板方法模式(Template Method);
觀察者模式(Observer);
狀態模式(State);
策略模式(Strategy);
職責鏈模式(Chain of Responsibility);
命令模式(Command);
訪問者模式(Visitor);
備忘錄模式(Memento);
迭代器模式(Iterator);
直譯器模式(Interpreter);
中介者模式(Mediator);
關於設計模式的內容總結到這裡,每一種模式的核心就是類圖和程式碼的對應,類圖的關係如何反應到程式碼中需要繼續研究、、、、