当前位置: 首页 > 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.hkea.cn/news/14572892/

相关文章:

  • 沈阳网站建设技术公司河源网站制作1993seo
  • 区块链app定制开发seo服务公司上海
  • 贵州省文化旅游网站建设的必要性微信生活门户网站源码
  • 阜阳网站制作公司哪里有网站怎样做公众号
  • 莱州免费发布信息的网站平台进入网站后台代码
  • 手机免费建立网站pc端网页设计模板
  • 百度推广电话销售好做吗上海网站排名优化推荐
  • 徐汇科技网站建设物业公司企业文化建设
  • 做电脑系统网站为什麼建网站要先做数据库
  • 昆山专业网站建设公司哪家好app网站开发者
  • 建站程序创建一家公司的步骤
  • 设计公司起名大全seo网页优化公司
  • 秦皇岛抚宁区建设局网站中国公路建设招标网站
  • 达州城乡建设网站网站页面需求
  • 能看所有网站的浏览器wordpress可视化编辑教程
  • 成都市温江区建设局网站哈尔滨网络公司招聘信息
  • 贵阳seo网站管理wordpress 摘要长度
  • 昆明网站搭建彩页设计印刷公司
  • wordpress 微信连接数据库seo还有哪些方面的优化
  • 互联网招聘网站湘潭市建设路学校网站
  • 网站建设公司服务wordpress登录qq微信登录界面
  • 深圳哪里有网站建设做社交网站开发
  • 公司做网站的费用入账如何建立团购网站
  • 广告学专业优质的seo快速排名优化
  • 网站建设木马科技wordpress主题 粉色
  • 自己如何免费制作一个网站济宁市建设局网站
  • 网站首页结构网站开发需要用到哪些软件有哪些
  • 无锡装修公司做网站无法更新网站主页 dedecms
  • 石家庄站在哪个区怎么知道网站是php
  • 网站建设市场前景如何厦门门户网站建设