Java设计模式——命令模式
2017-11-29 本文已影响14人
icyage
Java设计模式之命令模式
这期要分享的模式是命令模式,也是行为模式的一种。分享了这么多期的设计模式方面的内容,可能很多人都是收藏不会再去看了,所以之后的文章会尽量精简一些,更多的是抛砖引入,希望小伙伴们可以多多关注评论交流。
简介
命令模式将一个操作封装到一个类中,所以可以使用不同的参数来决定执行哪个封装的操作。
Command:定义命令接口
ConcreteCommand:具体命令的实现,需要通过调用接受者才能完成命令的实现。
Receiver:真正执行命令的实例对象
Invoker:命令的执行控制器,可以包含多个命令属性
Client:调用者
应用场景
- 对操作进行记录
- 将调用者与执行者解耦
- 宏命令
实例
封装命令实现类
输出结果
总结
命令模式是一个相对复杂的模式,不过使用这个模式也让程序变成更加灵活,易于扩展,而且很容易就可以将不同的命令组合起来。
问题是过多的命令会导致实现类数量变得庞大。