( )模式定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们客户而变化。以下(请作答此空)情况适合选用该模式。①一个客户需要使用一组相关对象②一个对象改变需要改变其他对象③需要使用一个算法不同变体④许多相关类仅仅是行为有异
- A.①②
- B.②③
- C.③④
- D.①④
正确答案及解析
正确答案
C
解析
命令模式:将一个请求封装为一个对象,从而使你可用不同请求对客户进行参数化。责任链:使多个对象都有机会处理请求,从而避免请求发送者和接收者之间耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。观察者模式:定义对象间一种一对多依赖关系,当一个对象状态发生改变时,所有依赖于它对象都得到通知并被自动更新。策略模式:定义一系列算法,把每一个算法封装起来,并且是它们可互相替换。本模式使得算法可独立于使用它客户而变化。