設計模式是一個很重要的內容,接下來將逐步的介紹一下常用的23種設計模式及其它的一些設計模式,每一個設計模式都配有模板代碼和簡單測試用例方便理解,完整代碼會逐步上傳到碼雲中,鏈接放上:https://gitee.com/adamjiangwh/GoF。 本篇主要介紹一下設計模式 ...
一 什么是命令模式 在說命令模式前我們先來說一個小例子。很多人都有吃夜市的經歷,對於那些推小車的攤位,通常只有老板一個人,既負責制作也負責收錢,我要兩串烤串多放辣,旁邊的人要了三串烤面筋不要辣,過了一會兒又來人要烤蔬菜 ,當人多的時候記憶力不好的老板肯定就不知道誰要的啥 交沒交錢了 而去有店鋪的烤肉攤,點單的時候會有服務員來記錄我們的菜單,然后再去通知燒烤師傅進行燒烤,這樣就不會出現混亂了,當然我 ...
2019-05-25 17:21 2 978 推薦指數:
設計模式是一個很重要的內容,接下來將逐步的介紹一下常用的23種設計模式及其它的一些設計模式,每一個設計模式都配有模板代碼和簡單測試用例方便理解,完整代碼會逐步上傳到碼雲中,鏈接放上:https://gitee.com/adamjiangwh/GoF。 本篇主要介紹一下設計模式 ...
一、什么是橋接模式 橋接模式,又叫橋梁模式,顧名思義,就是有座“橋”,那這座橋是什么呢?就是一條聚合線(下方UML圖),比如我們下面會舉的例子,手機有手機品牌和手機游戲等等,每個手機品牌都有多款游戲,那是不是二者之間就是聚合關系了,這是合成/聚合復用原則的體現,當我們發現類有多層繼承 ...
一、什么是狀態模式 狀態這個詞匯我們並不陌生,在日常生活中,不同時間就有不同的狀態,早上起來精神飽滿,中文想睡覺,下午又漸漸恢復,晚上可能精神更旺也可能耗費體力只想睡覺,這一天中就對應着不同的狀態。或者對軟件開發人員更形象的描述可能是UML的狀態圖(即用於描述一個實體基於事件反應的動態行為 ...
一、什么是組合模式 前面我們講過Swing(Java進階篇(六)——Swing程序設計(上)),在Swing中,容器Container和組件如Button、JLabel等等之間的關系就是組合關系,一個容器中有多個組件,組合模式更形象的說就是一棵樹,描述的時部分-整體的關系 ...
一、什么是單例模式 大家學操作系統的時候應該知道,當多個進程或線程同時操作一個文件時,只有一個能訪問;java中類似的例子也有很多,比如多線程中我們最常用的鎖,保證了多線程同時對一個方法或對象操作時只有一個能夠訪問。單例模式就是如此,我們給出它的定義。 單例模式 ...
一、什么是中介者模式 中介這個詞並不陌生,就是房屋中介的那個“中介”,就是中間人的意思。比如MVC模式,C(Controller控制器)是M(Model模型)和V(View視圖)的中介者,在前后端交互時起到了中間人的作用。 中介者模式(Mediator),用一個中介對象來封裝一系列 ...
一、什么是策略模式 策略這個詞應該怎么理解,打個比方說,我們出門的時候會選擇不同的出行方式,比如騎自行車、坐公交、坐火車、坐飛機、坐火箭等等,這些出行方式,每一種都是一個策略。 再比如我們去逛商場,商場現在正在搞活動,有打折的、有滿減的、有返利的等等,其實不管商場如何進行促銷,說到底 ...
一、什么是建造者模式 我們先說一個生活中的小例子,當我們在外面飯店吃飯時,比如點個水煮肉片,這家店可能會辣一點、那家店可能會咸一點、對面那家可能放青菜、隔壁那家可能放菠菜,每家店做出來的都不一樣,明明都是水煮肉片卻有不同的做法,如果都一樣就不會說這家難吃那家好吃了。那再看快餐店 ...