广告
返回顶部
首页 > 资讯 > 精选 >java如何实现组合模式
  • 360
分享到

java如何实现组合模式

java 2023-05-30 22:05:15 360人浏览 独家记忆
摘要

小编给大家分享一下java如何实现组合模式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!介绍组合模式又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素

小编给大家分享一下java如何实现组合模式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

介绍

组合模式又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解藕.

组合模式可以优化处理递归或分级数据结构.有许多关于分级数据结构的例子,使得组合模式非常有用武之地.

类图

java如何实现组合模式

组成部分:

Component: 为参加组合的对象声明一个公共接口, 不管是组合还是叶结点.
Leaf: 在组合中表示叶子结点对象,叶子结点没有子结点.
Composite: 表示参加组合的有子对象的对象, 并给出树枝购件的行为.

实例

FolderComponent

public abstract class FolderComponent { private String name; public String getName() { return name; } public void setName(final String name) { this.name = name; } public FolderComponent() { } public FolderComponent(final String name) { this.name = name; } public abstract void add(FolderComponent component); public abstract void remove(FolderComponent component); public abstract void display();}

FileLeaf

public class FileLeaf extends FolderComponent { public FileLeaf(final String name) { super(name); } @Override public void add(final FolderComponent component) { // ... } @Override public void remove(final FolderComponent component) { // ... } @Override public void display() { System.out.println("FileLeaf:" + this.getName()); }}

FolderComposite

public class FolderComposite extends FolderComponent { private final List<FolderComponent> components; public FolderComposite(final String name) { super(name); this.components = new ArrayList<FolderComponent>(); } public FolderComposite() { this.components = new ArrayList<FolderComponent>(); } @Override public void add(final FolderComponent component) { this.components.add(component); } @Override public void remove(final FolderComponent component) { this.components.remove(component); } @Override public void display() { System.out.println("FolderComposite---name:" + this.getName()); for (final FolderComponent component : components) {  System.out.println("FolderComposite---component-name:" + component.getName()); } }}

Client

public class Client{ public static void main(final String[] args) {  final FolderComponent leaf = new FileLeaf("runnable file");  leaf.display();  final FolderComponent folder = new FolderComposite("new folder");  folder.add(new FileLeaf("content1 in new folder"));  folder.add(new FileLeaf("content2 in new folder"));  folder.display(); }}

输出结果:

FileLeaf:runnable file
FolderComposite---name:new folder
FolderComposite---component-name:content1 in new folder
FolderComposite---component-name:content2 in new folder

使用场景

以下情况下适用Composite模式:

        1、你想表示对象的部分-整体层次结构
        2、你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。

组合模式解耦了客户程序与复杂元素内部结构,从而使客户程序可以向处理简单元素一样来处理复杂元素。
如果你想要创建层次结构,并可以在其中以相同的方式对待所有元素,那么组合模式就是最理想的选择。本章使用了一个文件
系统的例子来举例说明了组合模式的用途。在这个例子中,文件和目录都执行相同的接口,这是组合模式的关键。通过执行相同的接口,你就可以用相同的方式对待文件和目录,从而实现将文件或者目录储存为目录的子级元素。

以上是“java如何实现组合模式”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: java如何实现组合模式

本文链接: https://www.lsjlt.com/news/221545.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java如何实现组合模式
    小编给大家分享一下java如何实现组合模式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!介绍组合模式又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素...
    99+
    2023-05-30
    java
  • Java的组合模式怎么实现
    本篇内容介绍了“Java的组合模式怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、什么是组合模式Compose objects i...
    99+
    2023-07-05
  • java中怎么实现组合模式
    本篇文章给大家分享的是有关java中怎么实现组合模式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。组合模式组合模式(Composite Pattern)又叫部分整体模式,是用于...
    99+
    2023-06-20
  • Java设计模式:组合模式
    目录概述结构组合模式案例分析总结在本讲,我们来学习一下结构型模式里面的第六个设计模式,即组合模式。 概述 在学习组合模式之前,我们先来看下面这张图。 对于以上这张图大家应该很熟悉,...
    99+
    2022-11-12
  • 如何理解Java设计模式的组合模式
    这篇文章主要介绍“如何理解Java设计模式的组合模式”,在日常操作中,相信很多人在如何理解Java设计模式的组合模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解Java设计模式的组合模式”的疑惑有所...
    99+
    2023-06-25
  • Java设计模式之组合模式
    本文通过老王和小王探讨书房、书架、各类书的管理问题,引出结构型设计模式家族中的一个重要成员——组合模式,本文会给予两种组合模式的典型代码实现,为了加深理解会在...
    99+
    2022-11-13
  • Java设计模式之组合模式实例分析
    这篇文章主要介绍“Java设计模式之组合模式实例分析”,在日常操作中,相信很多人在Java设计模式之组合模式实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java设计模式之组合模式实例分析”的疑惑有所...
    99+
    2023-06-30
  • java设计模式-组合模式详解
    目录组合模式Demo代码:总结组合模式 组合模式(Composite Pattern)又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来...
    99+
    2022-11-12
  • Java设计模式中的组合模式
    目录模式介绍UML类图组合模式案例组合模式的注意事项和细节模式介绍 组合模式(Composite Pattern),又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以...
    99+
    2022-11-13
  • Java设计模式之java组合模式详解
    目录引言组合模式介绍角色模式结构示例代码水果盘文件浏览更复杂的组合模式透明与安全透明组合模式安全组合模式组合模式总结优点缺点适用场景应用XML文档解析文件HashMapMybatis...
    99+
    2022-11-12
  • Composite组合模式怎么实现
    本文小编为大家详细介绍“Composite组合模式怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“Composite组合模式怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新...
    99+
    2022-10-19
  • 分析Java设计模式之组合模式
    目录一、概述二、 模式定义三、 模式结构四、 模式实现五、 模式优缺点5.1、优点5.2、缺点六、 模式适用场景七、 模式总结一、概述 我们对于这个图片肯定会非常熟悉,这两幅图片我...
    99+
    2022-11-12
  • Golang怎么实现组合模式和装饰模式
    今天小编给大家分享一下Golang怎么实现组合模式和装饰模式的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。组合模式组合是一种...
    99+
    2023-07-04
  • 详细总结Java组合模式
    目录一、前言二、介绍三、实现一、前言 组合模式,又叫部分整体模式,是用于把一组相似的对象,当做单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式...
    99+
    2022-11-12
  • PHP结构型模式之组合模式怎么实现
    今天小编给大家分享一下PHP结构型模式之组合模式怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。组合模式(Compos...
    99+
    2023-07-05
  • Java实现树形结构管理的组合设计模式
    目录介绍实现抽象构件叶子节点组合节点测试总结优点缺点应用场景介绍 Java组合模式(Composite Pattern)是一种结构型设计模式,允许你将对象组合成树状结构,并且能像使用...
    99+
    2023-05-17
    Java组合模式 Java设计模式 Java组合设计模式
  • Java设计模式之组合模式深入刨析
    目录1.基本介绍2.结构3.组合模式解决的问题4.组合模式解决学校院系展示5.组合模式的注意事项和细节1.基本介绍 1)组合模式(Composite Pattern),又叫部分整体模...
    99+
    2022-11-13
  • Java结构型模式中的组合模式详解
    目录一.介绍二.UML类图1.透明方式2.安全方式三.具体代码四.使用场景五.优点一.介绍 组合模式(Composite Pattern)属于结构型模式。组合模式又叫作部分整体模式,...
    99+
    2023-02-16
    Java结构型模式 Java组合模式
  • 深入理解Java设计模式之组合模式
    目录一、什么是组合模式动机(Motivation)意图(Intent)二、组合模式的结构结构图说明:三、组合模式的使用场景四、组合模式的优缺点五、组合模式的实现六、组合模式的.NET...
    99+
    2022-11-12
  • 在JAVA项目中组合模式的实现原理是什么
    今天就跟大家聊聊有关在JAVA项目中组合模式的实现原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。组合模式:将不同但是相关的对象组合成树形结构以实现“部分-整体”的层次结构,...
    99+
    2023-05-31
    java ava 组合模式
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作