当前位置:计算机科学技术题库>计算机程序设计综合练习题库

问题:

[多选] State模式有下面哪些效果?()

它将与特定状态相关的行为局部化,并且将不同状态的行为分割开来。它使得状态转换显式化。通过类层次进行访问。State对象可被共享。

问题:

[多选] 备忘录模式有以下哪些效果?()

保持封装边界。它简化了原发器。使用备忘录可能代价很高。维护备忘录的潜在代价。

问题:

[多选] 设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括以下四个方面()

模式名称。问题。目的。解决方案。效果。实例代码。相关设计模式。

问题:

[多选] 建造者模式的优点有哪些()

分步骤构建一个复杂的对象。应对“复杂对象各个部分”的频繁需求变动。用户使用不同的具体建造者即可得到不同的产品对象。如果产品的内部变化复杂,可能会导致需要定义很多具体建造者类来实现这种变化,导致系统变得很庞大。如果产品之间的差异性很大,则不适合使用建造者模式,因此其使用范围受到一定的限制。

问题:

[多选] 单例模式的要点()

某个类只能有一个实例。必须自行创建这个实例。必须自行向整个系统提供这个实例。类的方法不能被访问。实例的创建个数不受限制。实例的创建者不受限制。

问题:

[单选] 桥接模式将继承关系转换为()关系,从而降低了类与类之间的耦合,减少了代码编写量。

关联。多态。实现。重构。抽象。

问题:

[多选] 桥接模式的优点()

分离抽象接口及其实现部分。桥接模式提高了系统的可扩充性,在两个变化维度中任意扩展一个维度,都不需要修改原有系统。实现细节对客户透明,可以对用户隐藏实现细节。桥接模式的引入会增加系统的理解与设计难度。桥接模式要求正确识别出系统中两个独立变化的维度,因此其使用范围具有一定的局限性。

问题:

[单选] 以下不适合使用装饰模式的是()

装饰某个对象时需要修改该类的对象。在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。需要动态地给一个对象增加功能,这些功能也可以动态地被撤销。当不能采用继承的方式对系统进行扩充或者采用继承不利于系统扩展和维护时。只需要对某个对象进行外观修饰而不需要修改其内在属性时。

问题:

[多选] 装饰模式的优点有哪些()

可以通过一种动态的方式来扩展一个对象的功能,通过配置文件可以在运行时选择不同的装饰器,从而实现不同的行为。可以使用多个具体装饰类来装饰同一对象,得到功能更为强大的对象。具体构件类与具体装饰类可以独立变化,用户可以根据需要增加新的具体构件类和具体装饰类,在使用时再对其进行组合,原有代码无须改变,符合“开闭原则”。使用装饰模式进行系统设计时将产生很多小对象。装饰模式比继承更加易于出错,排错也很困难,对于多次装饰的对象,调试时寻找错误可能需要逐级排查,较为烦琐。

问题:

[多选] 外观模式有哪些优点()

对客户屏蔽子系统组件,减少了客户处理的对象数目并使得子系统使用起来更加容易。通过引入外观模式,客户代码将变得很简单,与之关联的对象也很少。实现了子系统与客户之间的松耦合关系,这使得子系统的组件变化不会影响到调用它的客户类,只需要调整外观类即可。降低了大型软件系统中的编译依赖性,并简化了系统在不同平台之间的移植过程,因为编译一个子系统一般不需要编译所有其他的子系统。不能很好地限制客户使用子系统类。增加新的子系统可能需要修改外观类或客户端的源代码,违背了“开闭原则&rdquo。