命令模式

命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。
命令模式也支持可撤销的操作。

实例解析:
已知一个遥控器有七个可编程的插槽(每个都可以指定到一个不同的家电装置),每个插槽都有对应的开关按钮。这个遥控器还具备一个整体的撤销按钮。
现多家产商开发出一组Java类,这些类可以控制家电的自动化,例如电灯、风扇、热水器、音响设备和其他类似的可控制装置。
请创建一组控制遥控器的API,让每个插槽都能够控制一个或一组装置。请注意,要能够控制目前的装置和任何未来可能出现的装置,这一点很重要。

实例解析:
已知一个遥控器有七个可编程的插槽(每个都可以指定到一个不同的家电装置),每个插槽都有对应的开关按钮。这个遥控器还具备一个整体的撤销按钮。
现多家产商开发出一组Java类,这些类可以控制家电的自动化,例如电灯、风扇、热水器、音响设备和其他类似的可控制装置。
请创建一组控制遥控器的API,让每个插槽都能够控制一个或一组装置。请注意,要能够控制目前的装置和任何未来可能出现的装置,这一点很重要。
设计类图如下:

命令模式_第1张图片
抽象图
命令模式_第2张图片
设计类图(全)

在本例中为了更好的说明命令模式,代码将分为两部分放在两个包中。
package simple :只是说明了一个开灯的装置。简单代码
package complex :说明全部的装置。复杂代码

你可能感兴趣的:(命令模式)