設計模式總論

findumars發表於2013-08-19

活字印刷:可維護(只改一個字),可複用(下次可再用),可擴充套件(另加刻字),靈活性好(橫豎都行),說到底是為了做維護方便,讓業務邏輯與介面邏輯分開,耦合度下降四大發明其它三種都是科技進步,唯有活字印刷是思想的成功,物件導向的設計。

可利用的OO手段:封裝,繼承,多型。

       正如《設計模式》的作者GoF對訪問者模式的描述:大多數情況下,你並需要使用訪問者模式,但是當你一旦需要使用它時,那你就是真的需要它了。當然這只是針對真正的大牛而言。在現實情況下(至少是我所處的環境當中),很多人往往沉迷於設計模式,他們使用一種設計模式時,從來不去認真考慮所使用的模式是否適合這種場景,而往往只是想展示一下自己對物件導向設計的駕馭能力。程式設計時有這種心理,往往會發生濫用設計模式的情況。所以,在學習設計模式時,一定要理解模式的適用性。必須做到使用一種模式是因為了解它的優點,不使用一種模式是因為了解它的弊端;而不是使用一種模式是因為不瞭解它的弊端,不使用一種模式是因為不瞭解它的優點。

 

 

23種設計模式:

一、建立型模式

    單件模式(Single Pattern)
    抽象工廠模式(Abstract Factory)
    建造者模式(Builder Pattern)
    工廠方法(Factory Method)
    原型模式(Protype Pattern)


二、結構型模式
    介面卡模式(Adapter Pattern)
    橋接模式(Bridge Pattern)
    裝飾模式(Decorator Pattern)
    組合模式(Composite Pattern)
    外觀模式(Façade Pattern)
    享元模式(Flyweight Pattern)
    代理模式(Proxy Pattern) 

三、行為型模式
    模版方法模式(Template Method)
    命令模式(Command Pattern)
    迭代器模式(Iterator Pattern)
    觀察者模式(Oberver Pattern)
    中介者模式(Mediator Pattern)
    備忘錄模式(Memento Pattern)
    直譯器模式(Interpreter Pattern)
    狀態模式(State Pattern)
    策略模式(Strategy Pattern)
    職責鏈模式(Chain of Responsibility)
    訪問者模式(Visitor Pattern)

 

相關文章