某公司欲开发一个图形控件库,要求可以在该图形控件库中方便地增加新的控件,而且可以动态地改变控件的外观或给控件增加新的行为,如可以为控件增加复杂的立体边框、增加控件的鼠标拖电行为等。针对上述需求,使用()模式来进行设计最合适。
A. 适配器(Adapter)
B. 装饰(Decorator)
C. 外观(Facade)
D. 命令(Command)
查看答案
以下()不是装饰模式的适用条件。
A. 要扩展一个类的功能或给一个类增加附加责任
B. 要动态地给一个对象增加功能,这些功能还可以动态撤销
C. 要动态组合多于一-个的抽象化角色和实现化角色
D. 要通过一些基本功能的组合而产生复杂功能,面不使用继承关系
以下关于外观模式的叙述错误的是()。
A. 外观模式中-一个子系统的外部与其内部的通信可以通过一个统的外观对象进行
B. 在增加外观对象之后,客户类只需要直接和外观对象交互即可,客户类与子系统类间的复杂关系由外观类来实现,降低了系统的耦合度
C. 外观模式可以很好地限制客户使用子系统类,对客户访问子系统类做限制可以提高系统的灵活性
D. 如果一个系统有好几个子系统的话,可以提供多个外观类
以下关于享元模式的叙述错误的是( ) 。
A. 享元模式运用共享技术有效地支持大量细粒度对象的复用
B. 在享元模式中可以多次使用某个对象,通过引入外部状态使得这些对象可以有所差异
C. 享元对象能够做到共享的关键是引人了享元池,在享元池中通过克隆方法向客户端返回所需对象
D. 在享元模式中,外部状态是随环境改变而改变、不可以共享的状态,而内部状态是不随环境改变而改变、可以共享的状态
为了节约系统资源,提高程序的运行效率,某系统在实现数据库连接池时可以使用( )设计模式。
A. 外观(Facade)
B. 原型(Prototype)
C. 代理(Proxy)
D. 享元(Flyweight)