Composite模式(组合)

Java深入到一定程度,就不可避免的碰到设计模式这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解.设计模式在java的中型系统中应用广泛,遵循一定的编程模式,才能使自己的代码便于理解,易于交流,Composite(组合模式)模式是比较常用的一个模式.

Composite组合模式,将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。

优点: 1.使客户端调用简单,客户端可以一致的使用组合结构或其中单个对象,用户就不必关系自己处理的是单个对象还是整个组合结构,这就简化了客户端代码。

2.更容易在组合体内加入对象部件. 客户端不必因为加入了新的对象部件而更改代码。

在此写了6个java类来描述说明Composite设计模式的实现方式;

1、 Circle.java      部件-圆

2、 Graph.java       部件-抽象类

3、 Line.java        部件-线

4、 Picture.java     部件-图

5、 Rectangle.java   部件-方

6、 PictureTest.java 带有main方法的测试类

===============   1、 Circle.java

package composite;

//部件-圆

public class Circle extends Graph {

public void draw() {

System.out.println("Draw a circle.");

}

}

===============   1 end

===============   2、 Graph.java

package composite;

import java.util.Iterator;

//部件-抽象类

public abstract class Graph{

//画图

public abstract void draw();

//增加一个图形

public void add(Graph g){};

//删除一个图形组件

public void remove(Graph g){};

//获得组合体的内部部件

public Iterator iter(){return null;};

}

===============   2 end

===============   3、 Line.java

package composite;

//部件-线

public class Line extends Graph {

public void draw() {

System.out.p

composite java,java设计模式_Composite模式相关推荐

  1. Java常用设计模式————原型模式(一)

    介绍 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象. 原型模式用于创建重复的对象,同时又能保证性能.当直接创建对象的代价比较大时,则采用 ...

  2. Java 有限状态机 (设计模式——状态模式)

    Java 有限状态机 (设计模式--状态模式) 编写代码的时候,有时会遇见较为复杂的swith...case...和if...else...语句.这一刻有时会想到状态机,用有限状态机替换swith.. ...

  3. Java常用设计模式————组合模式

    引言 组合模式,是一种类似递归算法的结构性设计模式,通过以简单的 List ,组合本类对象,实现树状对象结构的"部分.整体"的层次. 它可以让调用程序不需要关心复杂对象与简单对象的 ...

  4. Java常用设计模式————工厂模式

    简介: 工厂模式(Factory Pattern)是Java中最常用的设计模式之一,又称多态工厂模式.虚拟构造器模式.属于创建型模式. 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通 ...

  5. Java常用设计模式-策略模式

    策略模式是一个非常实用的设计模式,指定义了一类算法并将其封装起来,并使得它们之间可以灵活地切换,并且不影响客户端. 1,从一个例子开始 我们常常会在网上买东西,很多购物平台都会有着各种各样的优惠策略供 ...

  6. Java之设计模式:工厂模式

    工厂模式 案例 传统方法 简单工厂模式 基本介绍 案例改进 简单工厂模式的另外一种写法(静态工厂模式) 案例新需求 工厂方法模式 基本介绍 案例改进 抽象工厂模式 基本介绍 实例改进 案例 先看一个具 ...

  7. Java 常用设计模式 -- Builder模式

    Builder模式是在Java中最流行的模式之一.它很简单,有助于保持对象不可变,并且可以使用Project Lombok的@Builder或Immutables等工具生成,仅举几例. 模式的流畅变体 ...

  8. java的设计模式 - Builder模式

    Builder 模式的目的? 构造对象的方式过于复杂,不如将之抽离出来.比如,构造器参数过多 这样说也有点抽象,举个例子吧. 举个例子 比如 非常热门的消息队列RabbitMQ 的 AMQP.Basi ...

  9. Java常用设计模式————桥接模式

    引言 在实际的业务中,经常会遇到多维度的概念组合,公园的门票,颐和园有年票.月票.日票,故宫也有年票.月票.日票.那么不同的公园和票种类型就可以视为两种不同的纬度,它们之间会形成相互组合的关系. 在类 ...

最新文章

  1. 系统架构的过程 浮现式设计
  2. php开发我的世界插件,WorldEdit/开发与API
  3. 有认知会推理!视觉大模型的未来不只靠表征
  4. 电脑安装python3.7说缺少-安装python缺少
  5. hbase1.1.1 连接集群_Hadoop2.7.1+Hbase1.1.2集群环境搭建(10) hadoop hbase kerberos
  6. 【java】java 命令 Unable to open socket file: target process not responding or HotSpot VM not loaded
  7. php js后端渲染,webpack后端渲染详解
  8. leetcode[232]用栈实现队列/Implement Queue using Stacks
  9. dos下载ftp文件linux,在DOS和LINUX下的FTP命令
  10. 一台机器安装两个LINUX系统的操作与经验
  11. spss案例教程主成分分析与因子分析及SPSS实现
  12. 通过Daffodil for VS使VS2010的IDE可以用VC6 VC7.1 VC9等编译器进行项目编译
  13. xci转nsp_找不到xci怎么办,自己动手丰衣足食!
  14. 欢迎关注中文开源字体集 Open Source Fonts Collection for Chinese
  15. 管家婆登录服务器未响应,管家婆辉煌登录点击下一步没有反应解决办法
  16. 重装系统 重启计算机失败,一键重装系统win7后重启进入系统失败
  17. spring boot 动态代理
  18. 【深度学习】目标检测综述
  19. 【浙江大学】一个开源的知识图谱表示学习框架
  20. 《月下独酌》赏析-(李白明月姑娘之一)

热门文章

  1. 关闭vscode链接检查,去掉VSCODE 编辑器的链接下划线
  2. vue3.0在线编辑器codemirror开发
  3. 水墨风的山水大坝3d可视化场景
  4. 广义线性模型(GLM)
  5. 了解 C++ 之 typename
  6. HMM隐马尔科夫模型(附维特比代码)
  7. 【opencv学习】【图像直方图和均衡化】
  8. 解决Word文章表格中无法自动换页的问题,表格结尾处像是被下一页覆盖掉了
  9. BETWEEN AND 操作符
  10. php小偷程序--获取网站内容