Behavior Patterns-行爲型模式

概念

一、定義	
分類
	[一]類模式
		[1]模板模式		Template Pattern
		[2]解釋器模式		Interpreter Pattern
	[二]對象模式
		[1]策略模式		Strategy Pattern
		[2]狀態模式		State Pattern
		[3]命令模式		Command Pattern
		[4]責任鏈模式		Chain of Responsibilty
		[5]迭代器模式		Iterator Pattern
		[6]訪問者模式		Visitor Pattern
		[7]觀察者模式		Observer Pattern
		[8]中介者模式		Mediator Pattern
		[9]備忘錄模式		Mementor Pattern

一、類模式

模板模式

定義			
	[1]基類		定義模板方法
	[2]子類		覆蓋模板方法
屬性		類-單繼承
目的		分離方法結構、方法內容
實現		不去改變方法結構,重置方法內容
應用		代碼重構、BaseResponse、Junit
區別		
	[1]Template		靜態		編譯期
	[2]State		動態		運行期
	[3]Strategy		動態		運行期

解釋器模式

定義		
目的		語言轉義
屬性		
應用		SpringMVC:視圖解析器;持久層解釋器:XML轉換SQL

二、對象模式

狀態模式

定義
目的		狀態添加、轉換			對象狀態,轉換直到條件
角色
	[1]StateManager			狀態管理方	基類		管理State類
	[2]ConcereateState	 	狀態集中方	基類		派生State類[ConcereateState		列類]
	[3]State				狀態邏輯方	
應用		多個狀態,不同邏輯
	[1]替代條件語句:if-else、switch;State子類封裝條件分支
流程
	[1]分割狀態		狀態確定行爲
	[2]

策略模式

定義
目的		分離調用時機,算法規則
角色		
	[0]算法調用類
	[1]Context	
	[2]算法基類		業務邏輯			封裝業務
	[3]算法子類		算法邏輯			封裝算法		
應用		Excel中,錄入數據,生成統計數據:全量數據-數據原值,增量數據-數據差值
區別
	[1]State		Context		實例化特殊的算法類		封裝狀態、行爲不同,切換頻率高
	[2]Strategy		StateManager實例化所有的處理類		封裝算法、行爲相同,切換頻率低

命令模式

定義		
屬性		接口-多繼承,激活接口=響應開關
應用
	[1]Servlet		分離處理邏輯、激發邏輯
		激發函數doGet()、doPost(),激發邏輯封裝在配置文件
	[2]Junit	
區別
	[1]Chain	責任鏈模式		處理激發順序		相同Request
	[2]Command	命令模式			處理激發時機		不同Request	

責任鏈模式

定義		繼承責任鏈接口[組成響應鏈]
屬性		接口-多繼承,添加處理對象
目的		組成鏈式處理流程
角色
	[1]請求類		對象			
	[2]響應鏈		接口			添加、激發處理類
	[3]處理類		實現類		處理請求類
應用
	[1]Servlet		動態響應,傳遞Request多個Servlet
	[2]Filter

迭代器模式

定義		
角色
目的		遍歷數據集合,分離算法、過程
屬性		接口-多繼承
應用		Iterator接口

訪問者模式

定義
目的		遍歷對象、處理對象
屬性		接口-多繼承
應用
	[1]JDBC		消除冗餘代碼=數據處理
	[2]SpringIoC		處理邏輯封裝至Bean,Spring框架負責初始化,釋放資源,執行SQL,遍歷數據集合
區別
	[1]Iterator	迭代器模式		數據讀取模式-拉模型,利用繼承處理
	[2]Visitor	訪問者模式		數據讀取模式-推模式,利用多態處理

中介者模式

定義
目的		隔離通信	[模塊、類]
屬性
應用
區別
	[1]Factory	創建、初始化類
	[2]Facade	
	[3]Mediator	

觀察者模式

定義
目的		增加數據表現形式,反映數據變更		Subject:Observers = 1:n
		
		[1]分離數據邏輯、表現邏輯				解耦合
		[2]Subject操作數據,Observers相應改變
屬性		
角色	
	[1]Subject	主題對象	接口		註冊接口:Observers註冊到Subject
	[2]Observer	觀察者	接口		實現接口:實現類Observers
	[3]通知者		通知方法遍歷觀察者,

應用		MVC		
	[一]Spring-MVC
	[二]Struts-MVC
		[1]Controller	控制器		分離模型、視圖
									請求解釋、數據校驗、請求分發、
									異常處理、日誌記錄、安全認證、頁面跳轉
		[2]Model	 	模型			執行業務,數據邏輯
		[3]View			視圖			生成頁面,表現邏輯

備忘錄模式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章