使用命令模式的一些示例用例是什么?我一直在阅读它,我对如何实现它有一个好主意。但是在知道何时使用它时,这是一个很大的模糊。
它解决的一个问题是解耦类的API。但这究竟意味着什么呢?直接调用对象方法的缺点是什么?
它解决了哪些其他问题,以及它们如何从中受益?
答案 0 :(得分:2)
当您需要将操作视为对象时,命令模式非常有用,因此您可以:
实际代码中命令模式的一个简单示例如下。
实现协议时,您可以使用命令模式将字节流的解析与消息关联的操作分离(请记住,在OO中,您不管理消息,但消息管理自己:-)
当通道从线路接收到一些字节时,它构造正确的命令对象(例如,使用原型或抽象工厂模式)并将其放入队列中以便稍后执行(可能在另一个线程中)。
答案 1 :(得分:0)
命令模式可以在可扩展性方面为您提供帮助,因为您可以在不更改现有代码的情况下添加新用例。
它还允许您链接命令并以顺序或并行模式执行(依赖于语言功能)并创建宏。
您可以在此页面中看到更多示例:http://gameprogrammingpatterns.com/command.html