選擇使用封裝好的一系列算法,可相互替換。php
類比:商店[Context]買完衣服買單[Stratege](現金[Concrete Stratege]、掃碼、跑路)。html
VS工廠模式:雖然一個負責建立,一個側重策略選擇。但網上不少工廠模式的實現代碼寫出了策略模式的效果。尤爲是所謂的「多方法工廠」。算法
推文設計模式
用設計模式解構三國是一種什麼體驗?——Part 3:行爲型設計模式(一);
策略模式+工廠模式優化if...else if...else if結構微信
隨着 狀態 改變而改變行爲。jsp
類比:商店[Context]選襯衫[Stratege],選中一件 斷碼了[Concrete Stratege],換一件 太貴了;換了一件趁心的,買單。學習
VS策略模式:雖然都是選擇行爲,狀態模式突出「狀態」。優化
推文ui
狀態機與狀態模式spa
多個對象依次處理請求(前者指定後者)。
類比:搭配服裝[Handler],上衣[Concrete Handler1]選好了選褲子[Concrete Handler2],褲子選好了選鞋子..;固然你也能夠先選褲子再去配搭上衣。
應用:JAVA WEB 中 Apache Tomcat 對 Encoding 的處理,Struts2 的攔截器,jsp servlet 的 Filter...
VS狀態模式:狀態模式水平,責任鏈縱向。
推文
增長中介者對象來解耦互相關聯的各個對象。
類比:網狀圖轉星型拓撲。
VS代理模式:代理 針對一個對象,爲了增長控制等;中介 雙方都是多個,爲了解耦。
VS外觀模式:外觀 明確調用,中介 選擇調用(調停類包含選擇業務邏輯);外觀 單向;中介 雙向。
推文
請求發送者->命令->請求執行者
類比:太一->進化->亞古獸
推文
多個觀察者對象監聽一個主題對象。主題對象能主動想全部觀察者推送通知。
類比:被觀察者Subscriber:微信公衆號(持有訂閱者ID爲其推送文章);
觀察者Observer:訂閱者
推文
順序遍歷
類比:Iterator
推文
重寫
推文
備份
推文
【JAVA】設計模式之備忘錄模式(Memento模式)的使用分析
訪問者操做集合內不一樣元素。(標註:有待增強理解)
推文
翻譯
推文
更多有意思的內容,歡迎訪問筆者小站: rebey.cn