龙空技术网

组合模式设计案例详细讲解-23种设计模式

千锋教育 40

前言:

今天我们对“设计模式综合实例”可能比较关注,姐妹们都想要知道一些“设计模式综合实例”的相关资讯。那么小编也在网摘上网罗了一些有关“设计模式综合实例””的相关知识,希望看官们能喜欢,看官们快快来学习一下吧!

前言

本文主要讲述组合模式,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。

一.什么是组合模式

组合模式是23种设计模式中结构型模式的一种,它创建了对象组的树形结构,将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。

二.生活中的组合模式

1.文件夹

在我们的电脑里面会存在很多资料,不管是学习资料、工作资料还是各种游戏。我们都不会选择一股脑地都放在一个盘下,而是会进行分门别类。比如江帅的电脑, D 盘里有个目录为 workspace 里面会存放各种代码, Program Files 会存放各种安装软件,game 里面会存放各种游戏,这样就能方便我们管理硬盘里内容,而这种分类方式就跟组合模式一样。

2.企业管理

在各个企业里都会有不同的部门以及不同级别的领导,比如级别最高是 CEO (首席执行官)和 CTO (首席技术官)等等,在之下有各部门的总监,副总监,之后是部长和各部门的主管,最后才是基层员工和实习生,而这种分类能够让企业管理起来更加地高效,这种管理方式就跟组合模式一样。

3.军队管理

目前在中国的军队中,军衔分为2等10级,如此划分不仅仅只是能力跟待遇的区别,也是为了更好的进行军队管理,而这种管理方式就跟组合模式一样。

三.组合模式的实现

接下来我们以所在的公司来举例,通过组合模式来实现。公司里有多个职能中心,每个职能中心中有一个或者多个部门。

首先咱们先创建一个抽象构件(Component)角色

然后创建两个树枝构建角色公司类和组织类

源码可后台dd小千

创建一个树叶构件角色部门类

最后我们通过组合模式构建公司结构

四.总结

组合模式使得客户端代码可以一致地处理单个对象和组合对象,无须关心自己处理的是单个对象,还是组合对象,这简化了客户端代码;就像管理一个部门,你身为部门总监,任务下发后,不管是基层员工完成还是部门领导完成都是一样的。

但是相对而言就需要客户端对类之间的层次关系较为清楚,意思就是管理企业,必须清楚公司里的整个架构每个组织每个部门以及对应的职能,才能够很好地去管理企业。

设计模式之适配器模式详解

设计模式之桥接模式,电脑与游戏的关系

Java设计模式之代理模式——经纪人的工作

Java建造者模式,用代码体验LEGO的快乐

更多技术类干货/IT程序员资讯,关注@千锋教育

标签: #设计模式综合实例