当前位置: 首页 > news >正文

广州南沙网站建设公司设计简单的网站

广州南沙网站建设公司,设计简单的网站,可视化的网站开发工具,做嗳啪啪 网站一、Python组合模式介绍 概念#xff1a; 组合模式(Composite Pattern)是一种结构型设计模式#xff0c;它通过将对象组合成树状结构来表示“整体/部分”层次结构#xff0c;让客户端可以以相同的方式处理单个对象和组合对象。 功能#xff1a; 统一对待组合对象和叶子对…一、Python组合模式介绍 概念 组合模式(Composite Pattern)是一种结构型设计模式它通过将对象组合成树状结构来表示“整体/部分”层次结构让客户端可以以相同的方式处理单个对象和组合对象。 功能 统一对待组合对象和叶子对象方便添加/删除节点简化客户端代码 优点 可以更方便地添加/删除节点简化客户端代码不需要考虑是处理单个对象还是组合对象可以灵活地组合对象和叶子对象来构建树状结构 缺点 如果处理节点的行为不一致时会导致设计复杂度和实现难度增加可能会对性能有一定影响因为需要递归遍历整个树状结构 应用场景 适用于抽象物件组成树形结构的情况例如目录和文件、公司组织结构、菜单和菜单项等。 使用方式 组合模式通常需要定义一个抽象组件类在组件类中定义了组合对象和叶子对象的公共行为。同时定义了组合对象和叶子对象的具体类实现抽象组件类中的方法。组合对象中还需要定义一个列表来存储子节点。 在应用程序中的应用 例如在一个公司组织结构中公司由多个部门组成而部门又由员工和下属部门组成可以使用组合模式来表示。可以使用一个抽象组件类来表示部门和员工使用具体的组合对象和叶子对象表示实际的部门和员工。客户端可以通过调用抽象组件类中的方法来处理组合对象和叶子对象使得客户端代码更加简洁。 二、组合模式使用 工作原理 组合模式中抽象组件类定义了共有的接口具体组合对象和叶子对象实现了这些接口。 组合对象包含一个子组件列表可以对子组件进行操作。 客户端可以通过调用组合对象的方法来操作组件包括添加、删除和检索子组件。 组合模式通过将对象组织成树型结构使得客户端可以以相同的方式处理单个对象和组合对象。 示例 假设我们要处理一个公司组织结构公司由多个部门组成而部门又由员工和下属部门组成。使用组合模式来表示该组织结构。 首先定义一个抽象组件类定义了组合对象和叶子对象的公共行为这里我们定义为Component: 接着定义具体组合对象即Department类定义为包含子节点的Component对象 然后定义叶子对象即Employee类该类没有子节点 最后客户端可以使用组合模式进行操作例如创建公司组织结构 from abc import ABC, abstractmethod# 定义抽象组件类 class Component():abstractmethoddef show(self):pass# 定义具体组合对象, 包含子节点的Component对象 class Department(Component):def __init__(self, name):self._name nameself._children []def add(self, component): # 添加组件self._children.append(component)def remove(self, component): # 删除组件self._children.remove(component)def show(self):# print(Department show)print(self._name)for child in self._children:child.show() # 实现抽象方法显示组件# 定义叶子节点没有子节点 class Employee(Component):def __init__(self, name):self._name namedef show(self):# print(Employee show)print(self._name) # 显示组件# 使用组合模式创建公司组织架构 dept1 Department(研发部) dept1.add(Employee(name1)) dept1.add(Employee(name2)) dept1.add(Employee(name0))dept2 Department(财务部) dept2.add(Employee(name3)) dept2.add(Employee(name4))emp Department(宇宙公司) emp.add(dept1) emp.add(dept2)emp.show() 输出结果为 宇宙公司 研发部 name1 name2 name0 财务部 name3 name4 从输出结果可以看出组合对象和叶子对象可以以相同的方式进行处理客户端可以使用组合对象中的方法来添加、删除和显示组件使得客户端代码更加简洁。
http://www.dnsts.com.cn/news/202809.html

相关文章:

  • 如何用自己电脑做网站页面wordpress 企业网站
  • 最有效的网站推广方案郑州网站制作报价
  • 免费网站模板 php北京企业做网站报价
  • 怎么做网站流量统计分析小程序模板源下载
  • 哈尔滨企业网站制作微信设计网站建设
  • 做百科需要发哪些网站鸿安建设集团网站
  • 峨眉网站建设淘宝产品页面设计
  • 网站建设 中企动力成都制作网站公司简介
  • 设计网站官网泰国做彩票网站
  • 嵊州建设银行取款网站网站推广计划
  • 福建省建设工程注册管理中心网站学校能建设网站吗
  • 在线网站流量查询17做网店
  • 被墙域名黑别人网站自建博客网站
  • 哪些网站可以做画赚钱九江做网站开发需要多少钱
  • 做网站大概要多少wordpress 说说 分页
  • 淄博微信网站建设wordpress的pdf阅读
  • 广东网站备案查询娄底地seo
  • 网站制作流程 优帮云盐城建设厅网站设计备案
  • app导航网站建设多少钱做设计应该看哪些网站
  • 怎样查看网站是用什么cms_做的网站建设课设心得体会
  • 网站设计排版布局常见的网络营销推广方式有哪些
  • 淘宝客网站怎么做视频省级网站建设标准
  • 京东第一次做网站sem是什么方法
  • 4399谁做的网站如何在百度上注册自己的网站
  • 微信优惠券网站怎么做wordpress无法寻找图像
  • flash网站制作软件上海比较有名的大公司有哪些
  • app 展示网站腾讯做的购物网站
  • 网站服务器的工作原理盐城市亭湖区城乡建设局网站
  • 临西做网站哪里便宜网页传奇游戏修改器
  • wordpress搭建短视频网站盐城网站制作网络推广