下面哪种描述最符合观察者模式
A. 避免将一个请求的发送者与接收者耦合在一起,让多个对象都有机会处理请求。将接收请求的对象连接成一条链,并且沿着这条链传递请求,直到有一个对象能够处理它为止。
B. 定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都得到通知并被自动更新。
C. 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。
D. 提供一种方法顺序访问一个聚合对象中的各个元素,且不用暴露该对象的内部表示。
命令模式的本质是对请求进行封装,一个“请求”对应于一个“命令”,将发出命令的责任和执行命令的责任分开。在这句话中,打引号处的两个词“请求”和“命令”的说法正确的是
A. “请求”是抽象命令,“命令”是具体命令
B. “请求”是抽象命令,“命令”是抽象命令
C. “请求”是具体命令,“命令”是抽象命令
D. “请求”是具体命令,“命令”是具体命令
以下角色属于命令模式的是
A. Invoker(调用者)
B. 目标
C. 构件
D. 工厂
关于命令模式的通用类图的说法错误的是
A. 命令调用者类 可以拥有多个抽象命令
B. 命令调用者类在调用一个抽象命令时,可以由1到多个具体命令来实现
C. 具体命令类通过拥有命令的接收者、调用命令接收者的实现命令的方法来完成命令的执行,不能脱离命令接收者而单独实现命令
D. 命令的接收者 也是 命令的执行者或者命令的实现者,与命令的发送者没有直接的关系