設計模式行為型
1.觀察者模式
2.模板模式
3.策略模式
4.職責鏈模式
5.狀態模式
6.迭代器模式
7.訪問者模式
8.備忘錄模式
9.命令模式
10.直譯器模式
11.中介模式
將乙個請求封裝為乙個物件,從而使你可用不同的請求對客戶端進行引數化,對請求排隊或記錄請求日誌,以及支援可撤銷的操作
將一組行為抽象為物件,實現「行為請求者」與「行為實現者」的松耦合。這就是命令模式
模式結構
command:
定義命令的介面,宣告執行的方法。
concretecommand:
命令介面實現物件,是「虛」的實現;通常會持有接收者,並呼叫接收者的功能來完成命令要執行的操作。
receiver:
接收者,真正執行命令的物件。任何類都可能成為乙個接收者,只要它能夠實現命令要求實現的相應功能。
invoker:
要求命令物件執行請求,通常會持有命令物件,可以持有很多的命令物件。這個是客戶端真正觸發命令並要求命令執行相應操作的地方,也就是說相當於使用命令物件的入口。
結構圖
**實現
package com.sun.command;
/** * 命令超類
* @author work
*/public abstract class command
}
package com.sun.command;
/** * 命令實現
* @author work
* */
public class concreatecommand extends command
@override
public void execute()
}
package com.sun.command;
/** * 命令接受者
* @author work
*/public class receiver
public static void main(string args)
}
package com.sun.command;
/** * 命令決策 決定命令執行
* @author work
* */
public class invoker
public void setcommand(command command)
public void executecommand()
}
設計模式 行為型 命令
具體實現 package com.desinmode.command public inte ce command package com.desinmode.command public class light public void off package com.desinmode.comma...
《設計模式》17 命令模式(行為型)
將請求封裝成為命令物件,使 方法的請求者 與 方法的實現者 解耦。命令物件可以被儲存 排隊 記錄 處理 撤銷等。又稱為動作 action 模式或事務 transaction 模式。呼叫者 請求者 invoker 請求的傳送者,持有乙個或多個命令物件,通過呼叫命令物件執行命令介面處理相關請求,它不直接...
行為型設計模式
職責鏈模式 使用多個物件都有機會處理請求,從而避免請求的傳送者和接受者之間的耦合關係。將這個物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處理它為止。職責鏈模式結構圖 abstarct class handler處理請求 this.gettype name,request 轉移到下一位 cl...