当前位置: 首页 > news >正文

软件工程(十四) 设计模式之结构型模式(二)

1、组合模式

简要说明

将对象组合成树形结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。

速记关键字

树形目录结构

类图如下

在这里插入图片描述

由类图其实可以看出,组合模式就是将具有父子关系的结构,组装形成一棵树,并且根据规范,树干节点和叶子节点均需要实现统一接口或者继承同一个抽象类。只是各自实现树干和叶子节点的特有功能。下面我们以菜单目录和菜单为例,使用组合模式组装菜单。

Java代码实现

/*** 抽象菜单类*/@Data
public abstract class AbstractMenu{// 菜单名称或目录名称protected 
http://www.lryc.cn/news/141237.html

相关文章:

  • 不解压的方式直接更新jar包内部的内容
  • 软件工程(八) UML之类图与对象图
  • 【Unity3D赛车游戏】【五】Unity中汽车加速效果是如何优化的?
  • 龙智案例:某大型零售企业如何打造高速、现代化的ITSM体系
  • jdk 03.stream
  • “华为杯”研究生数学建模竞赛2018年-【华为杯】C题:对恐怖袭击事件记录数据的量化分析
  • java8的reduce方法
  • Mac发现有的软件不能上网的破解之法
  • 定时检测接口是否正常飞书告警脚本
  • 【MySQL】2、MySQL数据库的管理
  • 8086汇编test指令学习
  • 简单js逆向案例(2)
  • azure data studio SQL扩展插件开发笔记
  • 【二分】搜索旋转数组
  • APSIM模型应用与参数优化、批量模拟
  • QT使用QXlsx实现对Excel sheet的相关操作 QT基础入门【Excel的操作】
  • ARM DIY(四)WiFi 调试
  • AIGC ChatGPT 实现动态多维度分析雷达图制作
  • Vue2向Vue3过度核心技术路由
  • ElasticSearch常用方法
  • nginx下添加http_ssl_module并且配置域名,指定端口
  • 【PHP】PHP变量
  • KVM创建虚拟机可访问外网+可使用Xshell等工具连接
  • 数据库——Redis 没有使用多线程?为什么不使用多线程?
  • Node.JS教程
  • mysql表锁死怎么办?事务锁sql超时被锁死怎么办?
  • 基于JSP+Servlet+mysql学生宿舍管理系统
  • Enabling Large Language Models to Generate Text with Citations
  • Qt Qml实现仪表盘动画
  • 一次PostgreSQL复杂jsonb数据矫正过程分享