Command模式也叫命令模式 ,是行为设计模式的一种。Command模式通过被称为Command的类封装了对目标对象的调用行为以及调用参数,命令模式将方法调用给封装起来了。
Command: 抽象命令类
ConcreteCommand: 具体命令类
Invoker: 调用者
Receiver: 接收者
Client:客户类
优点
1. 降低了系统耦合度
2. 新的命令可以很容易添加到系统中去。
缺点
使用命令模式可能会导致某些系统有过多的具体命令类。
Traders.java
抽象命令类:Command.java
具体命令类1: MineralWaterCommand.java
具体命令类2:IceBlackTeaCommand.java
接收类:Cashier.java
客户类即测试类:
测试结果:
卖矿泉水
卖冰紅茶
----------------
android中的使用:
Thread, Runnable中使用命令模式:
http://www.cnblogs.com/qianxudetianxia/archive/2011/08/13/2135478.html
2015年12月19日22:35:46更新
设计模式虽然增加了类的数量和复杂度,但是使得结构更加清晰,更加高扩展,低冗余。
命令模式定义:
将一个请求封装成一个对象,从而让用户使用不同的请求把客户端参数化,对请求队列或者记录请求日志,以及支持可撤销的操作。