关于模式适用性,在以下情况不适合使用Abstract Factory模式?()
A、一个系统要独立于它的产品的创建、组合和表示时
B、一个系统要由多个产品系列中的一个来配置时
C、当你要强调一系列相关的产品对象的设计以便进行联合使用时
D、当一个类希望由它的子类来指定它所创建的对象的时候
A、一个系统要独立于它的产品的创建、组合和表示时
B、一个系统要由多个产品系列中的一个来配置时
C、当你要强调一系列相关的产品对象的设计以便进行联合使用时
D、当一个类希望由它的子类来指定它所创建的对象的时候
A、你想使用一个已经存在的类,而它的接口不符合你的需求 B、根据需要创建开销很大的对象 C、在需要用比较通用和复杂的对象指针代替简单的指针的时候 D、取代了简单的指针,它在访问对象时执行一些附加操作
A、你想使用一个已经存在的类,而它的接口不符合你的需求 B、你想表示对象的部分-整体层次结构 C、当一个类的实例只能有几个不同状态组合中的一种时 D、一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为
A、抽象出待执行的动作以参数化某对象,使用过程语言中的回调(callback)函数表达这种参数化机制 B、Java语言中的:AWT的事件处理 C、在需要用比较通用和复杂的对象指针代替简单的指针的时候 D、一个系统需要支持交易(transaction),一个交易结构封装了一组数据更新命令
A、当要实例化的类是在运行时刻指定时,例如,通过动态装载 B、当你要强调一系列相关的产品对象的设计以便进行联合使用时 C、为了避免创建一个与产品类层次平行的工厂类层次时 D、当一个类的实例只能有几个不同状态组合中的一种时
A、在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责 B、处理那些可以撤消的职责 C、客户程序与抽象类的实现部分之间存在着很大的依赖性 D、当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类
A、当一个抽象模型有两个方面,其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用 B、当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变 C、当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之,你不希望这些对象是紧密耦合的 D、在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责
A、当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之,你不希望这些对象是紧密耦合的 B、许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法 C、需要使用一个算法的不同变体。例如,你可能会定义一些反映不同的空间/时间权衡的算法。当这些变体实现为一个算法的类层次时可以使用策略模式 D、算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构
A、你不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换 B、类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时Bridge模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充 C、对一个抽象的实现部分的修改应对客户不产生影响,即客户的代码不必重新编译 D、客户程序与抽象类的实现部分之间存在着很大的依赖性