《设计模式Design Pattern》读书笔记之十四

这是《设计模式Design Pattern》关于Command模式的读书笔记。Command对象建立命令发出者与接收者联系,发出者只需发请求。还讨论了不同情况的处理方式,如undo/redo操作可结合Memento、Prototype模式,简单命令可用模版,Composite模式可实现MacroCommands。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《设计模式Design Pattern》读书笔记之十四

Command模式

结构

 

目的

Command对象建立了命令发出者(invoker)与接收者(receiver)之间的联系。从而,invoker不需要知道谁是receiver,它只管向command发出execute()的请求,command自动告诉receiver进行相应的处理。

 

讨论

1,  如果command需要undo/redo操作,那么需要保存各种状态,可以利用Memento模式;如果是一串undo/redo command,那么需要把这些command连成一个history list,如果这些command在执行后内部状态会改变,那么需要copyhistory list,而不是利用reference,这时候可以使用Prototype模式进行copy操作。

2,  如果command很简单,只是简单建立invokerreceiver之间的联系,可以使用template作成通用的command模版。

3,  Composite模式可以用于实现MacroCommandscommand的集合)。

 

 

参考资料

Design Pattern  Gang-Of-4  1997

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值