23種設計模式的部分採摘


觀察者模式

觀察者模式,又稱發佈-訂閱模式

常被用來實現事件處理系統。

定義了對象間一對多的依賴關係,一個對象的狀態發生變化時,所有依賴於它的對象都將得到通知並自動刷新。被動的觀察方式。


觀察者和被觀察對象之間的互動關係不能體現成類之間的直接調用,否則就將使觀察者和被觀察對象之間緊密的耦合起來,從根本上違反面向對象的設計的原則。


解釋器模式

將一個需要解釋執行的語言中的句子表示爲一個抽象語法樹

執行效率不高

可擴展性強


裝飾模式

動態地往一個類中添加新的行爲

可以給某個對象而不是整個類添加一些功能,比生成子類更爲靈活

修飾模式是類繼承的另外一種選擇。類繼承在編譯時候增加行爲,而裝飾模式是在運行時增加行爲。


狀態模式

類的行爲基於它的狀態改變。

當系統中某個對象存在多個狀態,這些狀態之間可以進行轉換,而且對象在不同狀態下行爲不相同時可以使用狀態模式。用於解決系統中複雜對象的狀態轉換以及不同狀態下行爲的封裝問題。

狀態模式將一個對象的狀態從該對象中分離出來,封裝到專門的狀態類中,使得對象狀態可以靈活變化,對於客戶端而言,無須關心對象狀態的轉換以及對象所處的當前狀態,無論對於何種狀態的對象,客戶端都可以一致處理。


工廠方法模式

在任何需要生成複雜對象的地方,都可以使用工廠方法模式。

定義一個創建對象的接口,但讓實現這個接口的類來決定實例化哪個類。工廠方法讓類的實例化推遲到子類中進行。

有時,特定類型對象的控制過程比簡單地創建一個對象更復雜。在這種情況下,工廠對象就派上用場了。工廠對象會動態地創建產品對象的類,或者從對象池中返回一個對象,或者對所創建的對象進行復雜的配置,或者應用其他的操作。

在編程中,產品類的實例化有時候是比較複雜和多變的,通過工廠模式,將產品的實例化封裝起來,使得調用者根本無需關心產品的實例化過程,只需依賴工廠即可得到自己想要的產品。



策略模式

指對象有某個行爲,但是在不同的場景中,該行爲有不同的實現算法。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章