A 结构视图 B 行为视图 C 实现视图 D 用户视图
E 环境视图 F 物理视图 G逻辑视图
A 属性 B 操作 C 关系 D 约束 E 继承 F 多态 G 封装
2.1 面向对象设计原则首先都是(B)的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。
A 重载 B 复用 C 面向对象 D 封装 E 继承 F 多态 G抽象
2.2 以下说法错误的有(BDH)
A 对于面向对象的软件系统设计来说,在支持可维护性的同时,需要提高系统的可复用性。
B 迪米特法则要求一个软件实体应当尽可能多的与其他实体发生相互作用。
C 单一职责原则要求在软件系统中,一个类只负责一个功能领域中的相应职责。
D 开闭原则要求一个软件实体应当对扩展开放,对修改关闭,但是为了增强系统功能,可以随便的修改源代码。
E 里氏代换原则可以通俗表述为在软件中如果能够使用基类对象,那么一定能够使用其子类对象。
F 依赖倒转原则要求抽象不应该依赖于细节,细节应该依赖于抽象;要针对接口编程,不要针对实现编程。
G 接口隔离原则要求客户端不应该依赖那些它不需要的接口,即将一些大的接口细化成一些小的接口供客户端使用。
H 合成复用原则要求复用时尽量使用继承,而不使用对象组合。
A 适配器模式 B 桥接模式 C 组合模式 D 装饰模式
E 外观模式 F 享元模式 G 代理模式
3.2 设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括以下四个方面(ABDE)
A 模式名称 B 问题 C 目的 D 解决方案 E 效果 F 实例代码 G 相关设计模式
A 它属于GoF23种设计模式
B 它是最简单的设计模式之一
C 它是学习其他创建型模式的基础
D 它只需要记住一个简单的参数即可获得所需对象的实例
E 它类中的方法通常为静态方法
F 它返回的类都有一个公共的父类和公共的方法
4.2 简单工厂模式包含三个角是(ABC)
A 工厂角 B 抽象产品口 C 具体产品角 D 抽象接口角
E 生产者角 F 用户角 G 使用者角abc汽车网
布加迪威航最高时速5.1 Java中的 (A)是指在程序运行时获取已知名称的类或已有对象的相关信息的一种机制,包括类的方法、属性、超类等信息,还包括实例的创建和实例类型的判断等
A 反射 B 继承 C 多态 D 组合 E 聚合 F 抽象 G 抽象
5.2 工厂方法模式与简单工厂模式相比的优点有(ABCD)
A 工厂方法模式很好的符合开闭原则
B 工厂方法类模式中工厂类职责变轻,业务逻辑相对简单
C 具体产品与工厂类之间的耦合降低
D工厂方法模式是简单工厂模式的进一步抽象和推广
E Factory类内的方法常使用静态方法
F 只提供一个工厂类
G不需要考虑对象的具体创建细节
6.1 现有5个产品族,分布于3各不同的产品等级结构,只要指明一个产品所处的产品族以及它所在的等级结构,就可以唯一地确认这个产品。那么使用抽象工厂方法模式只需要提供( A)个具体工厂即可。
A 5 B 3 C 8 D 15 E 1 F 30 G 4
6.2 抽象工厂模式的优点有(A)
A 抽象工厂模式隔离了具体类的生成,使得客户并不需要知道什么被创建。
B 所有的具体工厂都实现了抽象工厂中定义的那些公共接口,因此只需改变具体工厂的实例,就可以在某种程度上改变整个软件系统的行为。
C 应用抽象工厂模式可以实现高内聚低耦合的设计目的,因此抽象工厂模式得到了广泛的应用。
D 增加新的具体工厂和产品族很方便,无须修改已有系统,符合“开闭原则”。
E 添加新的产品对象时,难以扩展抽象工厂来生产新种类的产品
F 开闭原则的倾斜性(增加新的工厂和产品族容易,增加新的产品等级结构麻烦)
7.1 对于建造一辆汽车,使用建造者模式中ConcreteBulider(具体建造者)需要做的是(A)
A 提供汽车的各个部件的构造和装配方法 B 建造汽车
C 建造汽车部件并且组合成汽车 D 指挥汽车建造
E 定义抽象接口
7.2 建造者模式的优点有哪些(ABC)
A分步骤构建一个复杂的对象
B应对“复杂对象各个部分”的频繁需求变动
C用户使用不同的具体建造者即可得到不同的产品对象
D如果产品的内部变化复杂,可能会导致需要定义很多具体建造者类来实现这种变化,导致系统变得很庞大
E如果产品之间的差异性很大,则不适合使用建造者模式,因此其使用范围受到一定的限制二手吉利
8.1 对于原型模式中,Java语言提供的clone()方法将对象复制了一份并返回给调用者。一般而言,对于clone()方法描述错误的是(A)
A 对任何的对象x,都有x.clone() =x,即克隆对象与原对象是同一个对象
B 对任何的对象x,都有x.clone().getClass()==x.getClass(),即克隆对象与原对象的类型一样
C 如果对象x的equals()方法定义恰当,那么x.clone().equals(x)应该成立
D 该clone()方法是深克隆
8.2 对于原型模式的优点有(ABCD)
A当创建新的对象实例较为复杂时,使用原型模式可以简化对象的创建过程,通过一个已有实例可以提高新实例的创建效率。
B 可以动态增加或减少产品类。
C 原型模式提供了简化的创建结构。
D 可以使用深克隆的方式保存对象的状态。
E 实现深克隆时需要编写较为复杂的代码。
F 成都限行时间新规2021年11月需要为每一个类配备一个克隆方法
9.1 单例模式的最主要的思想是(A)
A 构造方法私有化 B 使用默认构造方 C 构造方法静态化
D 类私有化 E 类不允许被继承 F 类的方法不允许被访问
9.2单例模式的要点(ABC)
A 某个类只能有一个实例 B 必须自行创建这个实例
C 必须自行向整个系统提供这个实例 D 类的方法不能被访问
E 实例的创建个数不受限制 F 实例的创建者不受限制
10.1 在笔记本电脑用电的例子中,属于适配器的是(A)
A 充电器 B 插座 C 笔记本 D 笔记本电源插孔
10.2 适配器模式的优点(ABC)
A将目标类和适配者类解耦
B增加了类的透明性和复用性
C灵活性和扩展性都非常好,通过使用配置文件,可以很方便地更换适配器
D其使用有一定的局限性,不能将一个适配者类和它的子类都适配到目标接口。
E要想置换适配者类的方法不容易
11.1桥接模式将继承关系转换为(A)关系,从而降低了类与类之间的耦合,减少了代码编写量。
A 关联 B 多态 C 实现 D 重构 E 抽象
11.2桥接模式的优点(ABC)
Aml350分离抽象接口及其实现部分。
B桥接模式提高了系统的可扩充性,在两个变化维度中任意扩展一个维度,都不需要修改原有系统。
C 实现细节对客户透明,可以对用户隐藏实现细节。
D桥接模式的引入会增加系统的理解与设计难度
E桥接模式要求正确识别出系统中两个独立变化的维度,因此其使用范围具有一定的局限性。
12.1组合模式描述了如何将容器对象和叶子对象进行(A)组合,使得用户在使用时无须对它们进行区分,可以一致地对待容器对象和叶子对象
A 递归 B 重构 C 并列 D 内置 E 关联
12.2组合模式包含角有(ABCD)
A 抽象构件 B 叶子构件 C 容器构件
D 客户类 E 树根构 F 枝干构件
13.1 以下不适合使用装饰模式的是(A)
A 装饰某个对象时需要修改该类的对象
B在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责
C 需要动态地给一个对象增加功能,这些功能也可以动态地被撤销
D当不能采用继承的方式对系统进行扩充或者采用继承不利于系统扩展和维护时
东南v3菱悦多少钱E 只需要对某个对象进行外观修饰而不需要修改其内在属性时
13.2 装饰模式的优点有哪些(ABC)
A 可以通过一种动态的方式来扩展一个对象的功能,通过配置文件可以在运行时选择不同的装饰器,从而实现不同的行为
B可以使用多个具体装饰类来装饰同一对象,得到功能更为强大的对象
C具体构件类与具体装饰类可以独立变化,用户可以根据需要增加新的具体构件类和具体装饰类,在使用时再对其进行组合,原有代码无须改变,符合“开闭原则”
D使用装饰模式进行系统设计时将产生很多小对象
E装饰模式比继承更加易于出错,排错也很困难,对于多次装饰的对象,调试时寻错误可能需要逐级排查,较为烦琐。
14.1 外观模式指的是外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组(A)提供一个一致的界面。
A 接口 B 按钮 C 函数调用 D 系统调用 E 连接
14.2 外观模式有哪些优点(ABCD)
A对客户屏蔽子系统组件,减少了客户处理的对象数目并使得子系统使用起来更加容易
B通过引入外观模式,客户代码将变得很简单,与之关联的对象也很少
C实现了子系统与客户之间的松耦合关系,这使得子系统的组件变化不会影响到调用它的客户类,只需要调整外观类即可
D降低了大型软件系统中的编译依赖性,并简化了系统在不同平台之间的移植过程,因为编译一个子系统一般不需要编译所有其他的子系统
E 不能很好地限制客户使用子系统类
F 增加新的子系统可能需要修改外观类或客户端的源代码,违背了“开闭原则”
15.1 (A)正是为解决这一类问题而诞生的。享元模式通过共享技术实现相同或相似对象的重用。
A享元模式 B外观模式 C 代理模式 D 组合模式 E 命令模式
15.2 享元模式的优点有哪些(AB)
A享元模式的优点在于它可以极大减少内存中对象的数量,使得相同对象或相似对象在内存中只保存一份
B享元模式的外部状态相对独立,而且不会影响其内部状态,从而使得享元对象可以在不同的环境中被共享
C享元模式运用共享技术有效地支持大量细粒度对象的复用。
D享元模式使得系统更加复杂,需要分离出内部状态和外部状态,这使得程序的逻辑复杂化。
E为了使对象可以共享,享元模式需要将享元对象的状态外部化,而读取外部状态使得运行
时间变长。
16.1(A)可以在客户端和目标对象之间起到中介的作用。
发布评论