现需要开发一个XMI文档处理软件,可以根据关键字查询指定内容,用户可以在XML中任意选取某一节点为查询的初始节点,无须关心该节点所处的层次结构。针对该需求,可以使用()模式来进行设计。
Abstract Factory(抽象工厂)
B. Flyweight( 享元)
Composite(组 合)
D. Strategy(策 略)
某公司欲开发一个图形控件库,要求可以在该图形控件库中方便地增加新的控件,而且可以动态地改变控件的外观或给控件增加新的行为,如可以为控件增加复杂的立体边框、增加控件的鼠标拖电行为等。针对上述需求,使用()模式来进行设计最合适。
A. 适配器(Adapter)
B. 装饰(Decorator)
C. 外观(Facade)
D. 命令(Command)
以下()不是装饰模式的适用条件。
A. 要扩展一个类的功能或给一个类增加附加责任
B. 要动态地给一个对象增加功能,这些功能还可以动态撤销
C. 要动态组合多于一-个的抽象化角色和实现化角色
D. 要通过一些基本功能的组合而产生复杂功能,面不使用继承关系
以下关于外观模式的叙述错误的是()。
A. 外观模式中-一个子系统的外部与其内部的通信可以通过一个统的外观对象进行
B. 在增加外观对象之后,客户类只需要直接和外观对象交互即可,客户类与子系统类间的复杂关系由外观类来实现,降低了系统的耦合度
C. 外观模式可以很好地限制客户使用子系统类,对客户访问子系统类做限制可以提高系统的灵活性
D. 如果一个系统有好几个子系统的话,可以提供多个外观类