JAVA的23種設計模式 命令模式

2021-08-01 11:42:38 字數 3116 閱讀 5994

1.該文章闡述了命令模式的基礎原理及示例**;

2.該文章適合初學設計模式的技術人員研習;

3.該文章有許多不足之處,請各位大咖指正,噴子繞道;

命令模式:高內聚的模式,將乙個請求封裝成乙個物件,從而讓你使用不同的請求把客戶端引數化,對請求排隊或者記錄請求日誌,可以提供命令的撤銷和恢復功能

1.命令模式示例**實現:

命令角色 類:

package com.csdn;

/** * 抽象 命令角色 類

*@author administrator

* */

public

abstract

class

command

package com.csdn;

/** * 增加需求命令

*@author administrator

* */

public

class

addrequirementcommand

extends

command

}

package com.csdn;

/** * 刪除頁面回滾命令

*@author administrator

* */

public

class

canceldeletepagecommand

extends

command

}

接收角色 類:

package com.csdn;

/** * 抽象 接收角色 類

*@author administrator

* */

public

inte***ce

group

package com.csdn;

/** * 需求組,具體接收者

*@author administrator

* */

public

class

requirementgroup

implements

group

@override

public

void

add()

@override

public

void

delete()

@override

public

void

change()

@override

public

void

plan()

@override

public

void

rollback()

}

package com.csdn;

/** * ui組,具體接收者

*@author administrator

* */

public

class

pagegroup

implements

group

@override

public

void

add()

@override

public

void

delete()

@override

public

void

change()

@override

public

void

plan()

@override

public

void

rollback()

}

package com.csdn;

/** * **組,具體接收者

*@author administrator

* */

public

class

codegroup

implements

group

@override

public

void

add()

@override

public

void

delete()

@override

public

void

change()

@override

public

void

plan()

@override

public

void

rollback()

}

呼叫角色 類:

package com.csdn;

/** * 抽象 呼叫角色 類

*@author administrator

* */

public

class

invoker

public

void

action()

}

模擬場景:

package com.csdn;

/** * 模擬場景

*@author administrator

* */

public

class

client

}

輸出:

找到需求組..

跟需求組提出增加需求..

跟ui組提出增加頁面..

跟**組提出增加功能..

需求組給出需求變更計畫..

<----------->

跟需求組提出撤回需求..

注:

a:命令模式中有三個角色:接收者角色,命令角色,呼叫者角色

b:命令模式將請求方和執行方分開,將請求的具體處理方式進行封裝,使用者只要發出請求,不需要知道具體的處理步驟就可以得到想要的答案,擴充套件性也有很好保障

Java的23種設計模式 15 命令模式

命令模式 將乙個請求封裝為乙個物件,從而使我們可用不同的請求對客戶進行引數化。對請求排隊或者記錄請求日誌,以及支援可撤銷的操作。也稱之為 動作action模式 事務transaction模式 1.command抽象命令類 2.concretecommand具體命令類 3.invoker呼叫者 請求者...

Java的23種設計模式

設計模式分為三大類 建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。結構型模式,共七種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。行為型模式,共十一種 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模式 狀態模...

java23種設計模式之命令模式

上一節說到責任鏈模式 責任鏈模式的抽象定義 將請求傳給乙個接收者鏈,由鏈將請求流轉給目標物件。就是說責任鏈可以像乙個鏈條一樣一環套一環的將各個業務串聯在一起,有順序的執行下去。並且可以在執行中做一些自定義操作。今天需要將的命令模式,在實際中一般會和責任鏈模式聯合使用。命令模式 將指定的功能介面實現,...