某系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条或者带有黑色边框,或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加3个类

admin2015-05-21  36

问题 某系统中的文本显示类(TextView)和图片显示类(PictureView)都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条或者带有黑色边框,或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加3个类。那么采用设计模式(35)可实现该需求,其优点是(36)。
     (36)

选项 A、比静态继承具有更大的灵活性
B、提高已有功能的重复使用性
C、可以将接口与实现相分离
D、为复杂系统提供了简单接口

答案A

解析 装饰(Decorator)模式可以再不修改对象外观和功能的情况下添加或者删除对象功能。它可以使用一种对客户端来说是透明的方法来修改对象的功能,也就是使用初始类的子类实例对初始对象进行授权。装饰模式还为对象动态地添加了额外的重任,这样就在不使用静态继承的情况下,为修改对象功能提供了灵活的选择。
    在以下情况中,应该使用装饰模式:
    想要在单个对象中动态并且透明地添加责任,而这样并不会影响其他对象;
    想要在以后可能要修改的对象中添加责任;
    当无法通过静态子类化实现扩展时。
转载请注明原文地址:https://jikaoti.com/ti/Kw67FFFM
0

相关试题推荐
随机试题
最新回复(0)