為什麼GOF的23種設計模式裡面沒有MVC?

2021-07-27 17:09:39 字數 770 閱讀 1916

總體來說設計模式分為三大類:

建立型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。

結構型模式,共七種:介面卡模式、裝飾器模式、**模式、外觀模式、橋接模式、組合模式、享元模式。

行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。

其實還有兩類:並髮型模式和執行緒池模式。用乙個來整體描述一下:

正如我們所討論的,models表示應用的資料,而views處理螢幕上展現給使用者的內容。為此,mvc在核心通訊上基於推送/訂閱模型(驚訝的是 在很多關於mvc的文章中並沒有提及到)。當乙個model變化時它對應用其它模組發出更新通知(「publishes」),訂閱者 (subscriber)——通常是乙個controller,然後更新對應的view。觀察者——這種自然的觀察關係促進了多個view關聯到同乙個 model。

對於感興趣的開發人員想更多的了解解耦性的mvc(根據不同的實現),這種模式的目標之一就是在乙個主題和它的觀察者之間建立一對多的關係。當這個 主題改變的時候,它的觀察者也會得到更新。views和controllers的關係稍微有點不同。controllers幫助views對不同使用者的輸 入做不同的響應,是乙個非常好的策略模式列子。

mvc的是為了把資料(model)和檢視(view)分離開來,然後用控制器(controller)來粘合m和v之間的關係。 mvc是觀察者模式(observer), 策略模式(strategy)和組合模式(composite)三個設計模式的演變.

GoF23種設計模式

設計模式的經典名著 design patterns elements of reusable object oriented software,中譯本名為 設計模式 可復用物件導向軟體的基礎 的四位作者erich gamma richard helm ralph johnson,以及john vli...

GoF 23種設計模式

建立型模式 factory模式 abstractfactory模式 singleton模式 builder模式 prototype模式 結構型模式 bridge模式 adapter模式 decorator模式 composite模式 flyweight模式 facade模式 proxy模式 行為模式...

GoF23種設計模式

設計模式的經典名著 design patterns elements of reusable object oriented software,中譯本名為 設計模式 可復用物件導向軟體的基礎 的四位作者erich gamma richard helm ralph johnson,以及john vli...