設計模式學習

2021-08-14 12:49:44 字數 857 閱讀 8778

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

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

行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、

狀態模式、訪問者模式、中介者模式、直譯器模式。

建立:      

單例  : 

原型模式: 

結構型: 

裝飾模式:  動態地給乙個物件新增一些額外的職責

適配:     

**:      封裝物件例項 

享元:      棋子,棋盤

組合:     

橋接:      將抽象部分與它的實現部分分離,(作為引數)讓它們各自發展,減少它們的耦合度

行為型: 

訂閱 觀察

備忘錄模式: 

命令模式:  命令的執行與撤銷  

管理順序    waitor 命令執行者

策略:     演算法多型,就是策略

狀態:    把狀態用乙個指標分出去

訪問者:  分離物件資料結構與行為的方法 

中介者: 

直譯器:   有點像橋接,

責任鏈:  

迭代器:   序訪問乙個聚合物件中各個元素,而又不暴露該物件的內部表示

模板方法 : 通過父類封裝虛函式,來控制模板

網路: 有多個輸入源,有多個不同的eventhandler(requesthandler)來處理不同的請求

缺點:在io讀寫資料時還是在同乙個執行緒中實現的,大檔案傳輸時會影響,因此 thread-per-conn 或proactor更好

學習設計模式 原型設計模式

先想一下既然要建立新的例項,為什麼不直接使用 new 而要設計出乙個原型模式進行例項的複製呢?這是因為 有的時候,我們也會在不指定類名的前提下生成例項,例如像圖形編輯器中拖動現有的模型工具製作圖形的例項,這種是非常典型的生成例項的過程太過複雜,很難根據類來生成例項場景,因此需要根據現有的例項來生成新...

設計模式學習

知道設計模式已經很久了,但是一直沒有認真的去系統的學習,這幾天才開始逐漸的學習起來。下面是我學習設計模式的一些心得。要想成為一名優秀的軟體設計師或軟體架構設計師,了解一些設計模式是很有必要的。我認為學習設計模式的思路如下 一 基本概念 理解物件導向 理解重用等概念性的東西 1.什麼是物件導向?2.物...

設計模式學習

所有的設計模式都是為了解決變化的問題,通過一定的模式來應對變化,變化應對的原則是開放封閉原則,對修改封閉,對擴充套件開放。為了應對變化,就會新增相應的層次,層次越多,的顆粒就越小,那麼 就越複雜。所以設計時考慮變化和複雜之間的取捨,為了應對變化 需要使用模式,但是又不可以一味應用模式,導致 太複雜。...