案例:这是灯泡的控制;后续可以按照这种模板扩展电视的控制。
意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。
优点: 1、降低了系统耦合度。 2、新的命令可以很容易添加到系统中去。
缺点:使用命令模式可能会导致某些系统有过多的具体命令类。
命令管理者(接口)
命令执行者(供开灯和关灯使用)
操作命令执行者(开灯)
操作命令执行者(关灯)
没有命令类
赋予命令(用数组装开关命令,这里只能装5种设备的开关按钮)
测试
扩展:上面只是灯泡的开关操作;如果想扩展电视的开关操作只需要如法炮制on\off\resurer即可。