設計模式 行為型 命令模式

2021-07-13 21:23:10 字數 1531 閱讀 6828

設計模式行為型

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...