结构型设计模式练习A

发布 2021-05-29 15:12:28 阅读 1022

1.组合模式描述了如何将容器对象和叶子对象进行(a)组合,使得用户在使用时无须对它们进行区分,可以一致地对待容器对象和叶子对象

a 递归 b 重构 c 并列 d 内置 e 关联。

2.组合模式包含角色有(abcd)

a 抽象构件 b 叶子构件 c 容器构件 d 客户类 e 树根构 f 枝干构件。

3.以下不适合使用装饰模式的是(a)

a 装饰某个对象时需要修改该类的对象

b在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责

c 需要动态地给一个对象增加功能,这些功能也可以动态地被撤销

d当不能采用继承的方式对系统进行扩充或者采用继承不利于系统扩展和维护时

e 只需要对某个对象进行外观修饰而不需要修改其内在属性时。

4.装饰模式的优点有哪些(abc)

a 可以通过一种动态的方式来扩展一个对象的功能,通过配置文件可以在运行时选择不同的装饰器,从而实现不同的行为

b可以使用多个具体装饰类来装饰同一对象,得到功能更为强大的对象

c具体构件类与具体装饰类可以独立变化,用户可以根据需要增加新的具体构件类。

和具体装饰类,在使用时再对其进行组合,原有**无须改变,符合“开闭原则”

d使用装饰模式进行系统设计时将产生很多小对象

e装饰模式比继承更加易于出错,排错也很困难,对于多次装饰的对象,调试时寻找错误可能需要逐级排查,较为烦琐。

11. 对象组合的有点表述不当的是( d )

a. 容器类仅能通过被包含对象的接口来对其进行访问。

b. “黑盒”复用,封装性好,因为被包含对象的内部细节对外是不可见。

c. 通过获取指向其它的具有相同类型的对象引用,可以在运行期间动态地定义(对象的)组合。

d.造成极其严重的依赖关系。

12. 下面那个不是decorator模式的适用性(d)。

a.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。

b.处理那些可以撤销的职责。

c.当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合产生大量的子类,使得子类数目呈**性增长。

另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。

d.你想在多个对象之间共享实现,但同时要求客户并不知道这一点。

13. 下面那个不是decorator模式的效果(b)。

a.比静态继承更灵活。

b.定义了包含基本对象和组合对象的类层次结构。

c.避免在层次结构高层的类有太多的特征。

d.有许多小对象。

14. 使用decorator模式时为了保证接口的一致性,组件和装饰必须有一个公共的component父类,为了保持component类的简单性,需要考虑的问题有(d)。

a. component类应集中于定义接口而不是存储数据。

b. 对数据表示的定义应延迟到子类中。

c.赋予component太多的功能也使得,具体的子类有一些它们并不需要的功能的可能性大大增加。

d.通常在component类中定义父部件引用。

模式的目的之一是使得用户知道并且区分他们正在使用的具体的leaf 和composite类。(f)

2.可以将装饰视为一个退化的、仅有一个组件的组合。然而,装饰仅给对象添加一些额外的职责――它的目的不在于对象聚集。(t)

3.就增加功能来说,decorator模式相比生成子类更为灵活。(t)

4.就增加功能来说,decorator模式不如adapter模式灵活。(f)

5. 组合模式支持的可变的方面是对象的结构和组成。(t)

6.类适配器使用多重继承对一个接口与另一个接口进行匹配。(t)

1.门面模式是( 迪米特 )法则的典型运用。

模式将( 抽象部分 ) 和( 实现部分 )分离,从而可以独立地改变它们。

3.适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是( 继承 )关系,而对象适配器采用的是( 组合聚合 )关系。

4.( 装饰模式 )设计模式的意图是动态地给一个对象添加一些额外的职责。

5.对象匹配器依赖于( 对象组合。

6.类适配器使用( 多重继承对一个接口与另一个接口进行匹配。

7. (装饰者 )设计模式的意图是动态地给一个对象添加一些额外的职责。

8. 适配器设计模式可分为 ( 类模式(类适配器对象模式 (对象适配器) )两类。

1. 为一个大公司建立一个人力资源应用程序,需要构建一个组织机构图,表示每个员工各自属于哪个部门、上级领导是谁、有哪些下属,请选择实现这个设计目标的设计模式,给出模拟的类关系图,并说明这样选择的理由。

答:设计模式:

可采用组合模式表示“部分-整体”的层次结构。composite使得用户对单个对象和组合对象的使用具有一致性4分。

理由:employee为组合中的对象声明统一的接口,实现所有类共有接口的缺省行为。声明一个接口用于访问和管理component的子组件。 2分。

clerk和teller在组合中表示叶节点对象,叶节点没有子节点。在组合中定义普通员工。 1分。

supervisor定义有下属的那些员工。需要存储下级员工,在component接口中实现与子结点有关的操作。 2分。

这样设计简化了客户**,更容易增加新的部门2分。

图4分,要画出基类与子类之间的继承关系(1分),递归的组合关系(2分),层次结构(1分)。

2.某公司要开发一个文档编辑器,其中用户界面部分的要求如下:除了显示文档内容的窗口外,还要用滚动条让用户能看到同一页的不同部分,并且滚动条可以根据用户的需要在运行时增加或去除,请你设计一种方案,画出类关系图,并给出理由。

答:采用装饰者模式。 3分。

图3分。这种模式比静态继承更加灵活,可以在不影响其他对象的情况下,在运行时增加和删除功能,如果需要增加功能,则创建一个新的子类。 4分。

如果选用其他模式,也可适当给分。

动画技法 原理结构型

模块三基本运动规律中间画的绘制。课题一绘制曲线运动。不同材质的运动物体,由于自身的材质 各类物体都有其独特的运动方式和形体特征,我们只有对他们进行深入细致的研究,掌握其中的特殊规律,才能准确的绘制各种运动。质地柔软的物体较质地坚硬的物体受外力的影响要大,如图3 1 1所示旗杆和旗帜承受同样的风力,但...

企业的薪酬设计结构模式

企业根据岗位评估体系 胜任能力评估体系和绩效管理体系,确定具体的工资制度和薪酬结构,规定各项薪酬所占的比例。企业的基本薪酬结构,宏智瑞达薪酬设计体系以下是罗列 薪酬结构模式常规包含两种 经济性薪酬 非经济性薪酬。经济性薪酬 1 直接薪酬 基础工资 激励性薪酬 奖金 佣金 利润分享 期权 加班补贴 倒...

结构与设计单元练习

班级学号 姓名 一 结构的受力。1.如图所示是一个摄像机支架,它的左端固定在墙上,右端安装摄像机。支撑臂的下部设计了三角形筋板,其主要目的是提高支撑臂的 a 抗拉性能 b 抗弯曲性能 c 抗扭转性能 d 抗压性能。2.在图示位置,构件1 构件2的主要受力形式是 a 构件1受拉,构件2受弯曲 b 构件...