(请作答此空)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换

admin2022-08-02  45

问题 (请作答此空)模式定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换,使得算法可以独立于使用它们的客户而变化。以下( )情况适合选用该模式。①一个客户需要使用一组相关对象②一个对象的改变需要改变其他对象③需要使用一个算法的不同变体④许多相关的类仅仅是行为有异A.命令(Command)B.责任链(ChainofResponsibility)C.观察者(Observer)D.策略(Strategy)

选项 A.命令(Command)
B.责任链(ChainofResponsibility)
C.观察者(Observer)
D.策略(Strategy)

答案 D

解析 命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。责任链:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。策略模式:定义一系列的算法,把每一个算法封装起来,并且是它们可互相替换。本模式使得算法可独立于使用它的客户而变化。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2426372.html

最新回复(0)