设计模式---组合模式(Composition Pattern)

本文详细介绍了组合模式在处理学校院系结构业务需求时的应用。传统方案将学院和系视为继承关系,但无法方便地进行添加、删除和遍历操作。通过采用组合模式,将学校、学院和系视为组织结构的组成部分,形成树形结构,实现了更灵活的管理操作。组合模式强调一致性地处理单个对象和组合对象,增强了系统的扩展性和抽象性,适合处理具有树形结构的对象。

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

目录

 

1、实际的一个业务需求

2、传统方案解决

3、传统方案存在问题分析

4、组合模式的基本介绍

5、组合模式原理类图

7、组合模式在JDK集合中的应用

8、组合模式的注意事项和细节


1、实际的一个业务需求

编写程序展现一个学校院系结构:需求是这样的,要在一个页面中展现出学校的院系组成,一个学校有多个学院,一个学院有多个系。如图:

2、传统方案解决

3、传统方案存在问题分析

  • 将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的
  • 实际上我们要求的是:在一个页面中展示出学校的院系组成,一个学校有多少个学院,一个学院有多少个系,因此这种方案,不能很好的实现管理的操作,比如对学院、系的添加,删除、遍历等
  • 解决方案:把学校、院、系都看做是组织结构,他们之间没有继承的关系,而是一棵树形结构,可以更好的实现管理操作=》组合模式。

4、组合模式的基本介绍

  1. 组合模式(Composition Pattern),又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树形结构以表示“整体-部分”的层次关系。
  2. 组合模式依据树形结构来组合对象,用来表示部分以及整体层次。
  3. 这种组合模式使得用户对单个对象和组合对象的访问具有一致性,即:组合能让客户以一致的方式处理个别对象以及组合对象。

5、组合模式原理类图

  • Component:这是组合中对象声明接口,在适当的情况下,实现所有类共有的接口默认行为,用户访问和管理Component子部件,Component可以是抽象类或者接口。
  • Leaf:在组合中表示叶子节点,叶子节点没有子节点。
  • Composite:非叶子节点,用户存储子部件,在Component接口中实现子部件的相关操作,比如增加(add),删除等

6、组合模式解决需求应用实例

低功耗蓝牙项目,需要一块懂省电的板

思澈 SF32LB52 芯片,BLE 协议栈深度优化,上手即开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值