采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
命令模式 ,Invoker 类和 Receiver 类,就是中间增加了一个 Command 类。 Command 类对于 Receiver 类是一对多吗? 这个在中间增加一个 Command 类的意义何在?
Command 和 Receiver 应该没有一对多或者一对一这种规定,灵活匹配即可。
Command 存在的意义,就是为了保证更好的扩展性。假如我们要定义自己的命令逻辑(最简单的,如打印一个日志,如你的截图),这段逻辑应该写在哪里呢?写在 Invoker 和 Receiver 里,貌似都不是很合适,对吧?
当然了,如果命令的逻辑非常简单,就一行代码,那 Command 也就没有存在的必要的了,可以删掉。但大部分情况下,还是建议 Command 留着,方便以后扩展。
定义自己的命令逻辑应该可以放在Receiver exec()函数里面吧?这个模式感觉就是增加了一个类,增加了一次调用的次数,方便扩展这个点我也还不太理解
或者说这个模式是用于解决多层级调用的问题,这样倒是好理解一点。就是不知道我理解的对不对
定义自己的命令逻辑应该可以放在Receiver exec()函数里面吧? —— 这个不一定完全可以,到时候看需求吧,反正抽离 Command 也算是提供一个设计参考。
登录后可查看更多问答,登录/注册
系统学习JS设计模式,增强设计思想,提高代码质量。
1.8k 13
1.1k 10
893 10
1.1k 9
1.3k 8