java组合模式的结果和适用的场景
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,本篇内容主要讲解"java组合模式的结果和适用的场景",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java组合模式的结果和适用的场景"吧!组合(Compo
千家信息网最后更新 2024年11月26日java组合模式的结果和适用的场景
本篇内容主要讲解"java组合模式的结果和适用的场景",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java组合模式的结果和适用的场景"吧!
组合(Composite)模式的定义:有时又叫作部分-整体模式,它是一种将对象组合成树状的层次结构的模式,用来表示"部分-整体"的关系。组合模式使得客户端代码可以一致地处理单个对象和组合对象,无须关心自己处理的是单个对象,还是组合对象,这简化了客户端代码;
模式结构
顶层抽象:树枝或者树叶的抽象接口
树枝:是组合中的叶节点对象,它没有子节点,用于实现抽象构件角色中 声明的公共接口。
树叶:是组合中的分支节点对象,它有子节点。它实现了抽象构件角色中声明的接口,它的主要作用是存储和管理子部件
源码导读
组合模式分为透明模式和安全模式;透明模式是在顶层抽象中声明了所有管理子对象的方法,树叶节点点和树枝节点对于客户端来说没有区别。安全模式是在顶层抽象中只声明叶子和树枝公有的抽象方法,而将对叶子和树枝的管理方法实现到对应的类中,因此客户端就需要区分该节点是树枝还是叶子从而调用对应的方法。
对组合模式来说,List Set等这些集合类属于不那么严格的组合模式。由于没有找到太好的源码,因此我在这里分别对透明模式和安全模式组合说明
透明模式:
public abstract class Component{ private String name; public Component(string name) { this.name = name; } public abstract boolean Add(Component component); public abstract boolean Remove(Component component); public String getName(){ return name; }}public class Branch extend Component{ private Listtree=new ArrayList<>(); public Branch(String name){ super(name); } public boolean add(Componet component){ tree.add(component); return true; } public boolean Remove(Component component){ tree.remove(component); return true; }}public class Leaf extend Component{ public Leaf(String name){ super(name); } public boolean add(Componet component){ return false; } public boolean Remove(Component component){ return false; } }
安全模式:
public abstract class Component{ private String name; public Component(string name) { this.name = name; } public String getName(){ return name; } }public class Branch extend Component{ private Listtree=new ArrayList<>(); public Branch(String name){ super(name); } public boolean add(Componet component){ tree.add(component); return true; } public boolean Remove(Component component){ tree.remove(component); return true; } public List getTree(){ return tree; }}public class Leaf extend Component{ public Leaf(String name){ super(name); } }
组合模式适用的场景为需要表述一个系统(组件)的整体与部分的结构层次的场合;组合模式可对客户端隐藏组合对象和单个对象的不同,以便客户端可以使用用统一的接口使用组合结构中的所有对象,对于该类场合也适用于组合模式
到此,相信大家对"java组合模式的结果和适用的场景"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
模式
组合
对象
客户
客户端
树枝
节点
方法
场景
安全
接口
结构
结果
单个
叶子
整体
树叶
顶层
管理
代码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
湖南软件开发的费用
2020电大数据库
初中防范网络安全作文
软件开发都可以开发什么
王者的服务器叫什么名字
小学生网络安全绘本手绘
物理服务器如何迁移到虚拟机
数据库怎么重编
直播app开发软件开发
淮安初中网络安全竞赛
何和开展亲子网络安全教育
网络安全法规定国家倡导
断网网络安全法
数据库系统的联系
数据库优先级排序
计算机网络技术的女生
直销软件开发价位
中国铁路软件开发岗
建立数据库的过程
软件开发岗位代号
湖北新一代软件开发服务有哪些
数据库id3的系统表
世界神奇宝贝服务器
服务器svn拉取目录
2021年网络安全前景
女生学应用软件开发
数据库中as的用法
网络安全简单知识
计算机网络技术的女生
嵌入式编程和软件开发区别