接下來讓我們來看設計模式這本書裡的23個模式
這23個設計模式可以依設計觀點來分類
創建模式
結構模式
行為模式
事實上用這三個維度來切分
只是就解決問題的角度去劃分
而實際的實現還是綜合之前所述的原則去設計
今天就讓我用通俗的方式
簡單一次把它們全部介紹出場吧

創建模式
讓使用者有效率且有彈性的創建物件

用一段話來描述:
今天老王想要生產產品
第一個想到的就是開一間工廠
若品項為一種且希望能客自化各種款式
就開設一間一般類型的工廠即可***(工廠方法模式)***
若品項為多種元素組合而成那就
就開設一間複雜且大型的工廠***(抽象工廠模式)***
若創建的流程複雜繁瑣可以僱一個管理者
來排定創建流程***(創造者模式)***
若想要創建史上唯一的稀有品***(單例模式)***
若想要大量快速複製生產商品***(原型模式)***


結構模式
讓使用者更容易擴展及組合物件彼此之間的關係

用一段話來描述:
小明去買了一台最新的NB
為了便宜特別拖外國友人帶回來***(代理模式)***
買回來發現是三孔插頭只好去買一個轉接頭***(適配器模式)***
使用又怕會刮傷螢幕貼了保護膜***(裝飾器模式)***
後來想與家裡的桌機共用一台顯示器
於是買了一個螢幕分配器***(橋接器模式)***
有了大螢幕小明興高采烈用模擬器打電動***(外觀模式)***
然而下載的遊戲太多有許多重複需要殺掉***(享元模式)***
最後因為每天玩通霄倒置電腦壞掉只好報修
因需要海外維修所以必須一層一層往上送
直到送到國外的維修中心…***(組合模式)***


行為模式
讓使用者更容易管理物件中的演算法及彼此之間關係及職責

用一段話來描述:
作戰時情報是非常重要的
這時候需要一位間諜不斷的監視***(監視器模式)***
而這位間諜依所要窺探的地方一一監視***(迭代器模式)***
當獲取到有利情報時因為要通報的單位太多
只需要透過情報局通報即可***(中介者模式)***
當情報局收到情報時因訊息已編碼,所以需要先解碼***(解譯器模式)***
此情報傳到總司令後,總司令可以就這情報下達策略***(策略模式)***
每一個策略需要有實際的作法
這時就交給參謀去傷腦筋***(樣板方法模式)***
而後將其寫成一份制式的執行文件來發出命令***(命令模式)***
每一份文件都要做紀錄存查***(紀錄者模式)***
此命令要一直往下傳達直到所有基層單位***(責任鏈模式)***
因為命令緊急所以各單位馬上處於備戰狀態***(狀態模式)***
最後發現情報有誤需趕快撤銷命令
使用電信廣播通知所有單位***(訪問者模式)***


由以上三段敘述可知模式在我們生活中無所不在…
(若是看不懂沒關係當作什麼事都沒發生)
其實有許多模式彼此之間架構概念很像
往後若有時間希望能比較細膩地
去記錄並區分彼此之間的差異
若是覺得上面敘述很怪異或是使用不當的
非常歡迎寫信告知喔~