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

命令模式

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

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

1.命令接口(ICommand)

2.各个命令对象(xxxCommand)

3.执行者(Reciver)

4.请求者(Invoker)

以下是代码截图

《五分钟学完设计模式之命令模式》 命令接口

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

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

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

《五分钟学完设计模式之命令模式》 执行者

《五分钟学完设计模式之命令模式》 Invoker–调用者

《五分钟学完设计模式之命令模式》 使用顺序

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

《五分钟学完设计模式之命令模式》 命令集合的Invoker

    原文作者:大叔龙
    原文地址: https://www.jianshu.com/p/bbb24a9ffe5c
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞