hand first设计模式 -组合模式-1

组合模式:允许你将对象组成树形结构来表现"整体/部份"的层次结构.组合能让客户以一致的方式处理个别对象和对象组合.

下面程序的目的是打印所有菜单和子菜单的信息.

菜单和子菜单都继承自MenuComponent,所以在打印信息的时候以一致的方式处理(见组合模式定义).

菜单组件抽象类

Java代码

public abstract class MenuComponent { 
  
 //添加菜单组件 
     public void add(MenuComponent menuComponent) { 
 throw new UnsupportedOperationException(); 
 } 
     
     //删除菜单组件 
 public void remove(MenuComponent menuComponent) { 
 throw new UnsupportedOperationException(); 
 } 
 
     //获取菜单组件 
     public MenuComponent getChild(int i) { 
 throw new UnsupportedOperationException(); 
 } 
  
 // 菜单项名字 
     public String getName() { 
 throw new UnsupportedOperationException(); 
 } 
     // 菜单项描述 
 public String getDescription() { 
 throw new UnsupportedOperationException(); 
 } 
     // 菜单项价格 
 public double getPrice() { 
 throw new UnsupportedOperationException(); 
 } 
     //是否为素食 
 public boolean isVegetarian() { 
 throw new UnsupportedOperationException(); 
 } 
     //打印 
 public void print() { 
 throw new UnsupportedOperationException(); 
 } 
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索new
, 菜单
, 组件
, 组合
, public
, throw
组合模式
head first 设计模式、headfirst设计模式pdf、first设计模式 中文版、headfirst设计模式 1、组合设计模式,以便于您获取更多的相关知识。

时间: 2024-11-01 07:11:43

hand first设计模式 -组合模式-1的相关文章

[Head First设计模式]生活中学设计模式——组合模式

系列文章 [Head First设计模式]山西面馆中的设计模式--装饰者模式 [Head First设计模式]山西面馆中的设计模式--观察者模式 [Head First设计模式]山西面馆中的设计模式--建造者模式 [Head First设计模式]饺子馆(冬至)中的设计模式--工厂模式 [Head First设计模式]一个人的平安夜--单例模式 [Head First设计模式]抢票中的设计模式--代理模式 [Head First设计模式]面向对象的3特征5原则 [Head First设计模式]鸭子

.NET设计模式-组合模式(Composite Pattern)

组合模式(Composite Pattern) --.NET设计模式系列之十一 Terrylee,2006年3月 概述 组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦. 意图 将对象组合成树形结构以表示"部分-整体"的层次结构.Composite模式使得用户对单个对象和组合对象的使用具有一致性.[GOF <设计模式>] 结构图 图1 Comp

Java设计模式--组合模式

组合模式 将对象组合成树形结构以表示"部分-整体"的层次结构.Composite使用户对单个对象和组合对象的使用具有一致性. Composite Pattern Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. 类图

9、Python与设计模式--组合模式

一.公司结构组织 每一个公司都有自己的组织结构,越是大型的企业,其组织结构就会越复杂.大多数情况下,公司喜欢用"树形"结构来组织复杂的公司人事关系和公司间的结构关系.一般情况下,根结点代表公司的最高行政权利单位,分支节点表示一个个部门,而叶子结点则会用来代表每一个员工.每一个结点的子树,表示该结点代表的部门所管理的单位.假设一个具有HR部门,财务部门和研发部门,同时在全国有分支公司的总公司,其公司结构,可以表示成如下逻辑: class Company: name = '' def __

设计模式之禅之设计模式-组合模式

一:组合模式的定义        --->组合模式(Composite Pattern)也叫合成模式,有时又叫做部分-整体模式(Part-Whole),主要是用来描述部分与整体的关系        --->将对象组合成树形结构以表示"部分-整体"的层次结构,使得用户对单个对象和组合对象的使用具有一致性. 二:组合模式的角色        ● Component抽象构件角色                定义参加组合对象的共有方法和属性,可以定义一些默认的行为或属性     

Android设计模式系列之组合模式_Android

Android中对组合模式的应用,可谓是泛滥成粥,随处可见,那就是View和ViewGroup类的使用.在android UI设计,几乎所有的widget和布局类都依靠这两个类. 组合模式,Composite Pattern,是一个非常巧妙的模式.几乎所有的面向对象系统都应用到了组合模式. 1.意图 将对象View和ViewGroup组合成树形结构以表示"部分-整体"的层次结构(View可以做为ViewGroup的一部分). 组合模式使得用户对单个对象View和组合对象ViewGrou

深入剖析设计模式中的组合模式应用及在C++中的实现_C 语言

组合模式将对象组合成树形结构以表示"部分-整体"的层次结构.C o m p o s i t e 使得用户对单个对象和组合对象的使用具有一致性. 模式图: 适用场景: 你想表示对象的部分-整体层次结构. 你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象. 举例: namespace FactoryMethod_DesignPattern { using System; using System.Collections; abstract class Compo

设计模式中的组合模式在JavaScript程序构建中的使用_基础知识

定义 组合,顾名思义是指用包含多个部件的对象创建单一实体. 这个单一实体将用作所有这些部件的访问点,虽然这大大简化了操作,但也可能具有相当的欺骗性,因为没有哪种隐性方式明确表明该组合包含多少部件. 组合模式的目标是解耦客户程序与复杂元素内部架构,使得客户程序对待所有子元素都一视同仁. 每个子节点都可以使复杂的存在,对于父节点来说,不需要知道子节点的复杂性或者实现子节点的复杂性,只需要关注子节点的特定方法,便可以使用子节点.简化了父和子之间的关系. 对于子节点来说也是一样的,过多的接口暴露有时候也

JavaScript设计模式开发中组合模式的使用教程_基础知识

我们平时开发过程中,一定会遇到这种情况:同时处理简单对象和由简单对象组成的复杂对象,这些简单对象和复杂对象会组合成树形结构,在客户端对其处理的时候要保持一致性.比如电商网站中的产品订单,每一张产品订单可能有多个子订单组合,比如操作系统的文件夹,每个文件夹有多个子文件夹或文件,我们作为用户对其进行复制,删除等操作时,不管是文件夹还是文件,对我们操作者来说是一样的.在这种场景下,就非常适合使用组合模式来实现. 基本知识 组合模式:将对象组合成树形结构以表示"部分-整体"的层次结构,组合模式