五分钟学完设计模式之命令模式

命令模式

总结成一句话就是行为的请求者和行为的实现者分离开,把"命令"以对象形式将两者联系起来的模式。命令模式的优点是将调用者和执行者在代码中拆分开, 请求者不直接与接收者(执行者)交互, 即请求者不包含接收者的引用, 因此彻底消除了彼此之间的耦合同时将代码拆分出来不会让代码有坏代码的味道。达到解耦和方便扩展的功能。使用命令模式的场合有undo、redo以及用户的输入操作、游戏的死亡回放功能

命令模式需要几个组成部分

1.命令接口(ICommand)

2.各个命令对象(xxxCommand)

3.执行者(Reciver)

4.请求者(Invoker)

以下是代码截图


命令接口



redo命令



undo命令



Add命令



执行者



Invoker--调用者


使用顺序


另外我们还可以根据需求把Command的对象装载到Invoker的容器中,逐一执行,类似的游戏例如sim4(模拟人生),玩家给人物下达命令,人物都是一执行命令一个才去执行下一个命令,代码如下图


命令集合的Invoker
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容