命令模式將請(qǐng)求封裝成對(duì)象,以便使用不同的請(qǐng)求旷坦、隊(duì)列掏熬、或者日志來(lái)參數(shù)化其他對(duì)象。命令模式也支持可撤銷(xiāo)的操作秒梅。
- 命令模式將發(fā)出請(qǐng)求的對(duì)象和執(zhí)行請(qǐng)求的對(duì)象解耦旗芬。
- 兩者間是通過(guò)命令對(duì)象進(jìn)行溝通的。命令對(duì)象封裝了接收者的一個(gè)或者一組動(dòng)作捆蜀。
- 命令對(duì)象持有接收者對(duì)象的引用疮丛。
- 調(diào)用者通過(guò)調(diào)用命令對(duì)象的execute()方法發(fā)出請(qǐng)求,使得接收者的動(dòng)作被調(diào)用辆它。
- 命令可以支持撤銷(xiāo)誊薄,具體做法為接收者對(duì)象實(shí)現(xiàn)undo()方法回撤狀態(tài)。
- 宏命令持有一個(gè)命令集锰茉,實(shí)現(xiàn)調(diào)用多個(gè)命令呢蔫。
- 命令也可以用來(lái)實(shí)現(xiàn)日志和事務(wù)系統(tǒng),通過(guò)undo()方法實(shí)現(xiàn)食物回滾飒筑。