設計模式適用場景整理
整理一下適用場景,便於遇到合適場景時通過使用設計模式更好地去掌握設計模式
設計模式分建立型、行為型、結構型
建立型
策略模式:某一個功能有多種方案可以選擇的情景
單例模式:建立獨一無二的,只能有一個例項的物件;一個無狀態的類,使用該模式節省資源
工廠模式:建立新物件,且該物件需要被被封裝
抽象工廠模式:用於建立一組產品(各產品不一定相同)
建造模式:一個類的各個組成部分的具體實現類或者演算法經常面臨著變化,但是將他們組合在一起的演算法卻相對穩定。提供一種封裝機制 將穩定的組合演算法於易變的各個組成部分隔離開來。
原型模式:用new建立一個物件需要非常繁瑣的資料準備或者許可權
行為型
模板模式:架構師用於搭建專案的框架,架構師定好了骨架,程式設計師繼承了骨架的結構之後,負責往裡面填空
命令模式:向某些物件傳送請求,但是並不知道請求的接受者是誰,也不知道請求的操作是什麼;讓程式執行的任何時刻去呼叫這個方法;
將一個請求封裝為一個物件,從而使你可以用不同的請求對客戶進行引數化
迭代器模式:需要順序訪問一個組合內的多個物件的時候使用。
觀察者模式:非同步程式設計;主題是具有狀態的物件,並且可以控制這些狀態,觀察者使用這些狀態,雖然這些狀態不屬於它們
狀態模式:一個物件的行為取決於它的狀態,並且它必須在執行時刻根據狀態改變它的行為;個操作中含有龐大的多分支結構,並且這些分支決定於物件的狀態
職責鏈模式:使多個物件都有機會處理請求,從而避免請求的送發者和接收者之間的耦合關係
中介者模式:用一箇中介物件封裝一些列的物件互動
訪問者模式:表示一個作用於某物件結構中的各元素的操作,它使你可以在不改變各元素類的前提下定義作用於這個元素的新操作
備忘錄模式:在不破壞物件的前提下,捕獲一個物件的內部狀態,並在該物件之外儲存這個狀態
結構型
裝飾者模式:增加行為到包裝物件上,在不改變物件自身的基礎上,在程式執行期間給物件動態的新增職責
代理模式:為另一個物件提供一個替身或佔位符以控制對這個物件的訪問
外觀模式:子系統中的一組介面提供一致的介面
介面卡模式:將一類的介面轉換成客戶希望的另外一個介面;使得原本由於介面不相容而不能一起工作那些類可以一起工作
橋樑模式:將抽象部分與它的實現部分相分離,使他們可以獨立的變化
組合模式:將物件組合成樹形結構以表示部分整體的關係;使得使用者對單個物件和組合物件的使用具有一致性
享元模式:
享元模式以共享的方式高效的支援大量的細粒度物件。享元模式能做到共享的關鍵是區分內蘊狀態和外蘊狀態。內蘊狀態儲存在享元內部,不會隨環境的改變而有所不同。外蘊狀態是隨環境的改變而改變的。
相關文章
- 索引設計(組合索引適用場景)索引
- 設計模式應用場景之Model設計中可以用到的設計模式設計模式
- Spark適用於哪些場景?不適用於哪些場景?Spark
- React 設計模式和場景分析React設計模式
- 圖解設計模式:身份認證場景的應用圖解設計模式
- CDN適用哪些場景?
- 設計模式學習筆記(十七)中介者模式及其應用場景設計模式筆記
- 設計模式學習筆記(十九)觀察者模式及應用場景設計模式筆記
- Streaming特性和適用場景
- Android設計模式——策略模式之原始碼使用場景(三)Android設計模式原始碼
- 設計模式-適配者模式設計模式
- Linkedlist的應用場景:設計佇列、設計棧佇列
- Android設計模式之——單例模式之原始碼使用場景(一)Android設計模式單例原始碼
- 效能場景設計
- 企業雲盤適用哪些應用場景
- 幫你整理 Java 中常見設計模式整理Java設計模式
- JavaScript 中常見設計模式整理JavaScript設計模式
- 區塊鏈不適用的若干場景區塊鏈
- 分享一組場景應用設計參考
- Kotlin邊用邊學:Inline Functions的適用場景KotlininlineFunction
- 物件儲存適用於哪些場景?這5個場景皆可使用!物件
- js代理模式理解和應用場景JS模式
- JavaScript—常見設計模式整理(27)JavaScript設計模式
- list與Set、Map區別及適用場景
- 全息投影技術所適用的場景分析
- NIO是什麼?適用於何種場景?
- 低程式碼適用於哪些應用開發場景
- 軟體測試用例設計方法-場景法
- Apache Doris設計思想介紹與應用場景Apache
- JAVA物件導向高階:static的應用知識--單例模式 單例設計模式應用場景及好處 單例設計模式的實現方式Java物件單例設計模式
- 觀察者模式應用場景例項模式
- 場景設計中距離感的設計
- 企業API閘道器適用業務場景API
- 輪換代理介紹及適用場景介紹
- 機械硬碟與固態硬碟的適用場景硬碟
- flexbox(彈性盒佈局模型),以及適用場景Flex模型
- 讀書整理 - 理解JavaScript設計模式(一)JavaScript設計模式
- 設計模式學習筆記(四)單例模式的實現方式和使用場景設計模式筆記單例
- 【設計模式】第十二篇:車票購買場景中的代理模式講解設計模式