命令模式简单点说就是发送命令请求的不知道接收命令请求的是谁,也不知道接收请求的人会做什么!
下面就拿个实例来分析分析:
工程师1任务只需负责在页面上绘制3个按钮,这三个按钮负责什么功能他不关心!
工程师2的任务是在按钮上赋予想要执行的业务功能,点击执行操作!
此时工程师1只需要封装一个公用的操作方法,按钮和事件进行关联!
其余的就交给工程师2去处理了,这样就实现了代码设计的松耦合!
工程师2继续进行业务开发,按钮任务规划,假如说button1实现刷新,button2新增,button3删除功能,进行如下的操作!
刷新菜单的按钮对象及方法
实现刷新功能的按钮构造对象
接收按钮对象,并实现一个excute方法
测试调用
其余的两个按钮也是类似的实现,完整代码如下
感觉代码有点长,直接用对象的思路怎么实现
也是可以实现的
我们接受用闭包的方式实现该功能
为了将来更好的实现功能拓展,我们还是实现一个公共的方法接口