A. 一个类只负责一个功能领域中的相应职责 B. 就一个类而言,应该有且仅有一个引起它变化的原因 C. 一个类承担的职责越多,被复用的可能性越大 D. 当一个类承担的职责过多时,需要将职责进行分离,将不同的职责封装在不同的类中。
A. 高层模块不应该依赖于低层模块 B. 抽象不应该依赖于细节 C. 细节可以依赖抽象 D. 高层模块通常依赖于低层模块
A. 针对接口编程,而不是针对实现编程 B. 尽可能合并类的职责 C. 接口与实现不可分割 D. 优先使用继承而非组合
A. 原型模式通过给出一个原型对象来指明要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象 B. 浅克隆仅仅复制所考虑的对象,而不复制它所引用的对象,也就是其中的成员对象并不复制。 C. 在原型模式中实现深克隆时通常要编写较为复杂的代码 D. 在原型模式中,不需要为每一个类配置一个克隆方法,因此对于原型模式的扩展很灵活,对于已有类的改造也较为容易
A. 隔离菜单项对象的创建和使用 B. 防止一个资源管理器窗口被实例化多次 C. 使用一个已有的查找算法而不想修改已有代码 D. 不能创建子类,需要扩展一个数据过滤类
A. 它描述了只有一个方法的类的集合 B. 它能保证一个类只能产生一个唯一的实例 C. 它描述了只有一个属性的类的集合 D. 它能够保证一个类的方法只能被一个唯一的类调用
A. 单例模式 B. 原型模式 C. 抽象工厂模式 D. 适配器模式
A. 将一个类的接口转换为客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 B. 在类适配器中adapter和adaptee是继承关系,而在对象适配器中adapter和adaptee是关联关系 C. 类适配器比对象适配器更加灵活,在Java语言中可以通过类适配器一次适配多个适配者 D. 适配器可以在不修改原来的适配者(adaptee)接口的情况下将一个类的接口和另一个类的接口匹配起来
A. 关联关系 B. 依赖关系 C. 集成关系 D. 实现关系
A. 适配器(Adapter) B. 组合(Composite) C. 外观(Facade) D. 桥接(Bridge)