命令模式主要是为了调用者invoker和接收执行者receiver之间的解耦。主要好处有
1、invoker可以保存命令队列,执行redo或者undo,或者决定命令运行方式,同步或者异步等等。
2、命令对象和客户端的调用可以有不同的生命期,命令执行时可能客户端调用程序已经完成。例如:命令的发起者是一台机器,命令的接收者是另外机器,可以将命令序列化进行传递,非阻塞式操作返回。
策略模式参与的角色没有命令模式多,只有策略的执行环境角色和策略角色。主要是在策略执行环境中,可以根据需要选择不同的策略实现,满足以后的策略扩展。
1、invoker可以保存命令队列,执行redo或者undo,或者决定命令运行方式,同步或者异步等等。
2、命令对象和客户端的调用可以有不同的生命期,命令执行时可能客户端调用程序已经完成。例如:命令的发起者是一台机器,命令的接收者是另外机器,可以将命令序列化进行传递,非阻塞式操作返回。
策略模式参与的角色没有命令模式多,只有策略的执行环境角色和策略角色。主要是在策略执行环境中,可以根据需要选择不同的策略实现,满足以后的策略扩展。
本文探讨了命令模式和策略模式的区别与应用。命令模式通过解耦调用者与接收者来提供灵活的命令处理机制,包括命令队列、重做和撤销等功能。而策略模式则允许在运行时选择不同的算法或策略,便于未来的策略扩展。
42

被折叠的 条评论
为什么被折叠?



