一、前言 之前一直在忙於工作上的事情,關於設計模式系列一直沒更新,最近項目中發現,對於設計模式的了解是必不可少的,當然對於設計模式的應用那更是重要,可以說是否懂得應用設計模式在項目中是衡量一個程序員的技術水平,因為對於一個功能的實現,高級工程師和初級工程師一樣都會實現,但是區別在於它們實現 ...
一 引言 今天我們開始講 行為型 設計模式的第二個模式,該模式是 命令模式 ,又稱為行動 Action 模式或交易 Transaction 模式,英文名稱是:Command Pattern。還是老套路,先從名字上來看看。 命令模式 我第一次看到這個名稱,我的理解是,可能是一種行為或者一個操作就是一個命令。 命令 這個詞語在軍隊里面用的最多,比如:下達作戰命令,接下來就是上戰場玩命了。基於這些,我感 ...
2017-11-21 15:18 4 3067 推薦指數:
一、前言 之前一直在忙於工作上的事情,關於設計模式系列一直沒更新,最近項目中發現,對於設計模式的了解是必不可少的,當然對於設計模式的應用那更是重要,可以說是否懂得應用設計模式在項目中是衡量一個程序員的技術水平,因為對於一個功能的實現,高級工程師和初級工程師一樣都會實現,但是區別在於它們實現 ...
一、概述通常來說,“行為請求者”與“行為實現者”是緊耦合的。但在某些場合,比如要對行為進行“記錄、撤銷/重做、事務”等處理,這種無法抵御變化的緊耦合是不合適的。在這些情況下,將“行為請求者”與“行為實現者”解耦,實現二者之間的松耦合就至關重要。命令模式是解決這類問題的一個比較好的方法。二、命令模式 ...
一、引言 今天我們開始講“行為型”設計模式的第八個模式,該模式是【職責鏈模式】,英文名稱是:Chain of Responsibility Pattern。讓我們看看現實生活中的例子吧,理解起來可能更容易。我們看看某公司的采購流程吧。某公司的規章制度規定,采購原材料的總價在5萬之內,只需要 ...
命令模式(Command) 請分析上圖中這條命令的涉及到的角色以及執行過程,一種可能的理解方式是這樣子的: 涉及角色為:大狗子和大狗子他媽 過程為:大狗子他媽角色 調用 大狗子的“回家吃飯”方法 引子 ...
一、引言 今天我們開始講“行為型”設計模式的第五個模式,該模式是【中介者模式】,英文名稱是:Mediator Pattern。還是老套路,先從名字上來看看。“中介者模式”我第一次看到這個名稱,我的理解是,在兩個對象中間增加一個“中間對象”,“中間對象”協調兩個對象的關系,但是隨着理解的深入 ...
一、引言 “結構型”的設計模式已經寫完了,從今天我們開始講“行為型”設計模式。現在我們開始講【行為型】設計模式的第一個模式,該模式是【模板方法】,英文名稱是:Template Method Pattern。還是老套路,先從名字上來看看。“模板方法”我第一次看到這個名稱,我的理解是,有一個方法 ...
一、引言 今天我們開始講“行為型”設計模式的第七個模式,該模式是【策略模式】,英文名稱是:Stragety Pattern。在現實生活中,策略模式的例子也非常常見,例如,在一個公司中,會有各種工作人員,比如:有的是普通員工,有的是軟件架構師,有的是部門經理,當然也會有公司的CEO。這些工作人員 ...
一、引言 今天我們開始講“行為型”設計模式的第三個模式,該模式是【迭代器模式】,英文名稱是:Iterator Pattern。還是老套路,先從名字上來看看。“迭代器模式”我第一次看到這個名稱,我的理解是,迭代是遍歷的意思,迭代器可以理解為是遍歷某某的工具,遍歷什么呢?在軟件設計中,當然遍歷 ...