首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

老生常谈:组合模式 01

老生常谈:组合模式 01

组合:由几个部分或个体结合成整体或者组织成整体。

    组合模式定义:将对象以树形结构组织起来,以达成“部分-整体”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。

   组合模式的组成:

  1):Component:它为组合中的对象声明接口,也可以为共有接口实现缺省行为。

  2):角色Leaf:顾名思义,它是单一构件,不存在任何的子项.实现抽象构件角色声明的接口。

  3):角色Composite:复杂对象,一般会包含多个树叶(Leaf)对象.实现抽象构件角色声明的接口;管理树叶(Leaf)对象。

   组合模式一般有两实现方式:安全性与透明性模式

   透明性:
       在Component里面声明所有用来管理子类对象的方法。目的就是为了使客户看来Leaf和Composite没有区别。Leaf是不存在子类的,因此Component声明的一些方法对于Leaf来说是不适用的。这说是它的安全性问题。下面是类图:

返回列表