(设计模式十一)java设计模式之组合模式

标签: 组合模式 设计模式
8人阅读 评论(0) 收藏 举报
分类:

定义:

组合模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。

经典案例:系统目录结构,网站导航结构等。

组合模式相对简单,不做详细介绍,代码如下:

public class Employee {
   private String name;
   private String dept;
   private int salary;
   private List<Employee> subordinates;

   //构造函数
   public Employee(String name,String dept, int sal) {
      this.name = name;
      this.dept = dept;
      this.salary = sal;
      subordinates = new ArrayList<Employee>();
   }

   public void add(Employee e) {
      subordinates.add(e);
   }

   public void remove(Employee e) {
      subordinates.remove(e);
   }

   public List<Employee> getSubordinates(){
     return subordinates;
   }

   public String toString(){
      return ("Employee :[ Name : "+ name 
      +", dept : "+ dept + ", salary :"
      + salary+" ]");
   }   
}

查看评论

用32行代码表示16个设计模式

为了演示以下16个模式,用了下面32行代码。iterator,adapter,interpreter,proxy,state,visitor,command,bridge,chain of respo...
  • xxcc
  • xxcc
  • 2002-06-22 17:38:00
  • 1547

Java 设计模式——组合模式

有时我们可能会被要求处理一个层级结构明显的对象,比如上下级的公司员工、比如层级嵌套的文件夹,还有丰富多彩的美食菜单。可是,我们可能要屡试不爽地编写深度搜索代码、要小心翼翼地编写递归逻辑。现在你可以忘掉...
  • u013761665
  • u013761665
  • 2016-05-17 17:39:45
  • 8140

JAVA设计模式初探之组合模式

先看看组合模式的定义吧:“将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。”    就拿剪发办卡的事情来分析一下吧。    首先,一张卡可...
  • jason0539
  • jason0539
  • 2014-03-31 08:40:06
  • 25275

Java设计模式——组合模式(Composite Pattern)

场景一 描述:大家在上学的时候应该都学过“数据结构”这门课程吧,还记得其中有一节叫“二叉树”吧,我们上学那会儿这一章节是必考内容,左子树,右子树,什么先序遍历后序遍历什么,重点就是二叉树的的遍历,我...
  • u012401711
  • u012401711
  • 2016-09-26 23:42:10
  • 1155

浅谈JAVA设计模式之——组合模式(Composite)

一、概述 将对象组合成树形结构以表示"部分-整体"的层次结构。"Composite使得用户对单个对象和组合对象的使用具有一致性。 二、适用性 1.你想表示对象的部分-整体层次结构。 2.你希望用户忽略...
  • l1028386804
  • l1028386804
  • 2015-05-03 12:44:22
  • 2161

JAVA设计模式——组合模式+迭代器模式

组合模式 允许你将对象组合成树形结构来表现“整体/部分”层析结构。组合能让客户以一致的方式处理个别对象以及对象组合。 我们以菜单为例思考这一切:这个模式能够创建一个树形结构,在同一个结构中处理嵌套...
  • cai1213
  • cai1213
  • 2012-09-18 17:58:45
  • 1687

Java设计模式—组合模式

组合模式是一种常见的设计模式(但我感觉有点复杂)也叫合成模式,有时又叫做部分-整体模式,主要是用来描述部分与整体的关系。   个人理解:组合模式就是将部分组装成整体。   定义如下: 将对象组合成树形...
  • qq_25827845
  • qq_25827845
  • 2016-09-10 19:31:22
  • 1805

Java设计模式之《组合模式》及应用场景(遍历指定路径下的文件目录和文件为例子)

Java设计模式之《组合模式》及应用场景 出处地址http://www.cnblogs.com/V1haoge/p/6489827.html   组合模式,就是在一个对象中包含其他对象,这...
  • ye_sheng
  • ye_sheng
  • 2017-07-26 11:17:05
  • 439

【23种设计模式】之 组合模式(Composite Pattern)

需求: (1)需要某种树形结构,可以容纳菜单、子菜单和菜单项 (2)需要确定能够在每个菜单的各个项之间游走,而且至少要像现在用迭代器一样方便。 (3)需要能够更有弹性地在菜单项之...
  • fanfan4569
  • fanfan4569
  • 2017-04-26 10:04:28
  • 426

Java设计模式(五) 多态的极致应用——组合模式

本文介绍了组合模式的概念,UML类图,优缺点,实例讲解以及组合模式(未)遵循的OOP原则。...
  • Habren
  • Habren
  • 2016-06-08 07:25:09
  • 1805
    个人资料
    持之以恒
    等级:
    访问量: 2941
    积分: 282
    排名: 27万+
    扫码加小哥QQ
    文章存档
    最新评论