【正确答案】
B
【答案解析】[解析] Observer模式定义并保持对象间的依赖关系,它允许一个对象在其状态改变时,通知依赖它的所有对象。
Command模式将请求封装在对象中,把它最为参数来传递。Iterator抽象了访问和遍历一个集合中的对象的方式。
Chain of Responsibility是用一系列类(classes)试图处理一个请求request,这些类之间是一个松散的耦合,唯一共同点是在它们之间传递request。也就是说,来了一个请求,A类先处理,如果A类没有处理,就传递到B类处理,如果B类没有处理,就传递到C类处理,就这样像一个链条(chain)一样传递下去。引入责任链的目的是为了解除耦合。
在观察者设计模式中,Subject和Observor分别表示抽象的被观察者和观察者。通常一个观察者观察一个被观察者,而一个被观察者可以被多个观察者关注。但Subject的态发生变化时,Subject将通知所有的Observor,告知其状态已发生变化,而Observor收到通知后将查询Subject的状态。