1、抽象工廠模式關鍵算法
一、抽象工廠接口類:提供所有抽象產品的建立接口函數
二、根據抽象產品分支出來有多少個產品簇決定有多少個具體工廠設計
三、每一個具體工廠生產一個產品簇對象
2、適配器模式繼承
一、有類適配器模式(繼承)、對象適配器模式(調用或聚合)接口
二、注意JAVA不支持多重繼承,因此JAVA中適配源超過 1個 可採起對象適配器模式產品
三、適配器模式關鍵:適配目標接口類:其中包含了用戶所但願的全部接口,該類提供給適配器實現,變量
適配器類:該類實現適配器目標接口類的全部用戶但願的接口,繼承或者調用/集成適配源的接口方法原理
四、對象適配器原理:可把適配源類對象聚合到是適配器中做爲適配器類的成員屬性,當用戶但願使用某些已經存在在適配源中的接口時,直接調用該對象的接口函數配置
3、外觀模式
一、本質:把用戶所但願與之打交道的全部類聚合到一個類中,該類即爲外觀類。
二、外觀類中包含全部與用戶打交道的類對象,所以用戶僅須要與外觀類打交道,避免直接與其餘多個類打交道的複雜過程
三、外觀類可給用戶專門提供服務接口方法,在此方法中調用聚合在本類中的對象的方法完成用戶但願的工做。
4、策略模式
一、抽象策略接口類:提供一個全部子類實現本身算法的接口(策略模式定義一系列的算法,將每一個算法封裝起來(在具體子類中),而且是他們之間能夠互相替換)
二、具體策略類:實現抽象策略類接口,並實現定義的一系列算法中的某個具體算法,有時須要調用上下文相關方法完成任務
三、上下文類:客戶類與策略類的 「傳話筒」 ,給策略類傳遞策略類要處理的數據參數,常常也把本身當作參數傳遞給策略類。上下文類中提供一個接口,用於調用具體策略子類中實現的算法接口。
四、具體策略子類和上下文類互相調用完成任務是使用策略模式進行設計的一般作法
5、命令模式
一、調用者:發起命令請求,把命令對象聚合爲本身的成員屬性,發起命令時調用命令對象的excute()方法(通常在該方法裏調用命令接收者完成任務)
二、命令對象:系統有多少條命令就有多少個具體命令對象類,通常包含一個excute()方法
三、命令接收者對象:負責根據對應的命令完成相關的任務
四、命令模式通常分層機制:調用者調用命令對象,命令對象調用命令接收者對象
五、客戶端中建立調用者對象、命令對象、命令接收者對象。步驟:先建立命令接收者對象,建立命令對像而且把第一步建立的命令接收者對象做爲參數配置給命令對象,最後建立調用者對象而且把第二步建立的命令對象做爲參數配置給調用者對象
6、中介者模式
一、中介者類:持有全部參與互動的類的對象,把他們集成爲本身的成員屬性。包含有全部參與類的註冊方法,有多少個參與類就有多少個註冊方法,註冊方法中把參與類對象做爲參數配置給本身的參與類成員屬性
二、參與類:參與類中同時也持有中介者類對象,把中介者類做爲本身的成員屬性。在本身的構造函數中把中介者類配置給本身。同時調用中介者類註冊方法把本身註冊給中介者類
三、客戶端類:需先建立中介者類,再建立參與類並把參中介者類配置給本身
7、觀察者模式
一、抽象觀察者接口類:全部具體的觀察者類實現該類,該類通常提供一個Update()方法,用於在被觀察者狀態改變時調用,在其中完成相關的任務。
二、具體觀察者類:實現抽象觀察者類,主要是實現Update()方法,實現本身對被觀察者感興趣的數據變化時進行相關處理。
三、抽象被觀察者類:通常要有觀察者列表屬性變量,全部觀察者都要註冊在該列表中。通常還要有三個方法,一個是往觀察者列表添加觀察者的方法,一個是設置當前狀態的方法,一個是通知全部觀察者(即遍歷觀察者列表調用其相關的Update())的方法。