问题 单项选择题 共用题干题

某公司欲开发一门户网站,将公司的各个分公司及办事处信息进行整合。现决定采用Composite设计模式来实现公司的组织结构关系,并设计了如下图所示的UML类图。图中与Composite模式中的“Component”角色相对应的类是(1),与“Composite”角色相对应的类是(2)。

空白(2)处应选择()

A.Company

B.FinanceDepartment

C.HRDepartment

D.ConcreteCompany

答案

参考答案:D

解析:

组合(Composite)模式又称为整体一部分(Part-whole)模式,属于对象的结构模式。在组合模式中,通过组合多个对象形成树形结构以表示整体一部分的结构层次。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性。Composite模式的结构如下图所示。·类Component为组合中的对象声明接口,在适当的情况下,实现所有类共有接口的缺省行为,声明一个接口用于访问和管理Component的子部件;·类Leaf在组合中表示叶结点对象,叶结点没有子结点;并在组合中定义图元对象的行为;·类Composite定义有子部件的那些部件的行为,存储子部件,并在Component接口中实现与子部件有关的操作;·类Client通过Component接口操纵组合部件的对象。根据上述描述可知,与Composite模式中的“Component”角色相对应的类是Company,与“Composite”角色相对应的类是ConcreteCompany。

阅读理解与欣赏
多项选择题