首页 > 其他分享 >梳理你的思路(从OOP到架构设计)_设计模式Composite模式

梳理你的思路(从OOP到架构设计)_设计模式Composite模式

时间:2024-12-23 22:01:28浏览次数:5  
标签:架构设计 Leaf 角色 Composite 类别 如上图 设计模式 Whole

Composite 模式

  • 此模式能建立多层级的包含关系(即多层级Whole-part关系)。
  • 在自然界中常见这种关系,例如,树叶是树的一部分,但树叶又是个整体,其内含着叶脉、叶绿素等「部分」对象。
  • 从这图形中,可看出这些对象可依其角色而分为两类:
  1. Leaf物件: 如上图里的「白色」类别之对象,它们不具有Whole 之角色,只具有Part之角色。这通称为「基本组件」(Primitive Component)。
  2. Composite 物件: 如上图中的「灰色」类别之对象,它们具有Whole之角色,也可能具有Part之角色。这通称为「复合组件」(Composite Component)。
  • 因之,只需定义两个类别──Leaf及Composite 类别即行。
  • 例如,上图里的「树」、「叶」等都是Composite的子类别,而且「枝」、「叶脉」等则是Leaf的子类别。

         

  • 在企业界,最典型的例子是「物料表」 (Bill of material简称BOM)
  • 例如,「 車前燈」 的BOM表, 如下圖:
  • 其中,「灯泡」、「灯身」等都是Composite的子类别,而且「灯帽」、「灯心」等则是Leaf的子类别
     

标签:架构设计,Leaf,角色,Composite,类别,如上图,设计模式,Whole
From: https://blog.csdn.net/soarfeng/article/details/144678527

相关文章

  • 【智能设计模式:AI时代的依赖倒转原则探索】
    ......
  • 设计模式-备忘录模式
    背景游戏角色恢复问题:角色有攻击力和防御力,在Boss站前保存攻击力和防御力,大战之后,攻击力和防御力下降,从备忘录恢复到大战前的状态。传统思路:一个游戏对象,对应一个保存状态对象。当对象很多时不利于管理,开销也很大。基本介绍在不破坏封装性的前提下,捕获一个对象的内部状态......
  • Java 项目实战:基于 Spring Boot 与 Vue.js 技术构建护士排班管理系统的架构设计方案
    一、引言1.1项目背景随着医疗行业的不断发展,医院护士排班管理的复杂性日益增加。传统的手工排班方式难以满足高效、公平、合理的需求,容易出现人力分配不均、员工满意度低等问题。为了提高护士排班的科学性和管理效率,特开发此护士排班管理系统。1.2项目目标本系统旨在实现医......
  • Python 设计模式入门指南:23 种设计模式轻松学
    Python设计模式入门指南:23种设计模式轻松学第一部分:创建型模式(5种)1.工厂方法模式2.抽象工厂模式3.单例模式4.建造者模式5.原型模式第二部分:结构型模式(7种)1.适配器模式2.装饰器模式3.代理模式4.外观模式5.桥接模式6.组合模式7.享元......
  • 职场编程必备:那些你不可不知的常用设计模式
    设计模式共23种,可分为创建型、结构型和行为型。这些设计模式并不是要求我们都要记得滚瓜烂熟,可以先掌握工作中常用的几种设计模式,用于解决工作中绝大部分的设计问题,这样在从容应对工作内容之余我们才有更多的精力去深入拓展更多的知识点。每种设计模式并不是独立的、割裂的,它......
  • 系统架构设计师考点—操作系统知识(操作系统的分类和功能)
    一、重点考点只会出现在选择题里考查,占3~5分1、操作系统的分类(2020年11月考了选择题实时操作系统)2、存储管理—逻辑地址转换为物理地址(2021年11月考了选择题)3、文件管理—索引文件结构、位示图4、进程管理(2019年11月考了选择题前趋图)5、微内核二、操作系统的分类1、批处......
  • 分布式系统架构5:限流设计模式
    这是小卷对分布式系统架构学习的第5篇文章,今天来学习限流器和限流设计模式1.为什么要限流?任何一个系统的运算、存储、网络资源都不是无限的,当系统资源不足以支撑外部超过预期的突发流量时,就应该要有取舍,建立面对超额流量自我保护的机制,而这个机制就是微服务中常说的“限流”2......
  • 支付算法加密和内网穿透原理和应用场景-----软件架构设计
    对称加密:加解密使用同一把钥匙不能在金融领域使用,一旦发送方或者接收方泄露密钥,就会造成严重后果非对称加密:加解密使用不同的钥匙发送方发送的密文用A钥匙加密,接收方用B钥匙解锁接收方用C钥匙加密响应信息,发送方用D钥匙看响应结果使用RSA算法较多什么是公钥私钥,......
  • Java设计模式
    Java设计模式概览设计模式是软件工程中的最佳实践,它们提供了解决特定问题的通用模板。在Java中,设计模式广泛应用于各种项目中,以提高代码的可维护性、可扩展性和可重用性。创建型模式(CreationalPatterns)创建型模式涉及对象的创建过程,目的是创建对象时使程序的结构更加灵......
  • 如何从全局视角规划项目与战略决策(“精准接送”案例、技术架构设计与选型、业务逻辑及
    文章目录1.引言2.项目背景与需求分析2.1业务背景(5W分析法)2.2需求概述功能需求非功能需求2.3典型挑战3.技术架构设计与选型3.1技术选型扩展表3.2架构设计的深度思考3.2.1核心架构原则3.2.2实际架构实践4.业务逻辑及产品商业模式探讨4.1业务试点与优化试点......