1.定义:
责任链:
使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。
命令(链):
请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。
不同点:责任链为多个对象对一个请求,命令为一个对象对多个请求
相同点:属于行为模式,对请求者和接收者解耦。实现原理相似。
2.主要概念:
1)Context 上下文
Context 表示一个应用程序的状态, 它其实是一个 java.util.map 的标记接口, 上下文是类似一个信封, 包含了完成一个事务所需的属性, 换句话说, 上下文是一个包含成员属性值的有状态对象。
2)Command 命令
一个命令代表一个工作单元, 它只有一个入口方法 :public boolean execute(Context context)
命令对通过上下文对象传递给它的状态进行操作,但不保留它自己的状态。命令可以组装成一个链,这样就可以从离散的工作单元创建复杂的事务。如果命令返回