设计模式@第12章:组合模式
第12章:组合模式 一、看一个学校院系展示需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院, 一个学院有多个系。如图: ----------清华大学-------------- ----------计算机学院------------ 计算机科学与技术 软件工程 网络工程 ---------信息工程学院----------- 通信工程 信息工程 二、传统方案解决学校院系展示(类图) 传统方案解决学校院系展示存在的问题分析 将 学院看做是学校的子类 , 系是学院的子类 ,这样实际上是站在组织大小来进行分层次的 实际上我们的要求是 :在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系,因此这种方案, 不能很好实现的管理的操作 ,比如对学院、系的 添加,删除,遍历 等 解决方案:把学校、院、系都看做是组织结构,他们之间没有继承的关系,而是一个树形结构,可以更好的实现管理操作。 => 组合 模式 四、 组合模式基本介绍 组合模式(Composite Pattern),又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以表示“ 整体-部分 ”的层次关系。 组合模式 依据树形结构来组合对象 ,用来表示部分以及整体层次。 这种类型的设计模式属于结构型模式。 组合模式使得 用户对单个对象和组合对象的访问具有一致性