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

记事本做网站的代码博客吧 wordpress

记事本做网站的代码,博客吧 wordpress,深圳seo推广,wordpress move zip一、说明 组合模式是一种结构型设计模式#xff0c; 你可以使用它将对象组合成树状结构#xff0c; 并且能像使用独立对象一样使用它们。 (一) 解决问题 处理树形结构#xff1a;可以很好地处理树形结构的数据#xff0c;使得用户可以统一对待单个对象和对象组合。统一接… 一、说明 组合模式是一种结构型设计模式 你可以使用它将对象组合成树状结构 并且能像使用独立对象一样使用它们。 (一) 解决问题 处理树形结构可以很好地处理树形结构的数据使得用户可以统一对待单个对象和对象组合。统一接口可以通过统一的接口来操作单个对象和对象组合简化了客户端的代码。递归组合可以通过递归的方式来处理对象组合使得代码更加灵活。 (二) 使用场景 需要实现树状对象结构希望客户端以相同的方式处理简单和复杂元素 二、结构 组件Component接口描述了树中简单项目和复杂项目所共有的操作。叶节点Leaf是树的基本结构它不包含子项目。一般情况下叶节点最终会完成大部分的实际工作因为它们无法将工作指派给其他部分。容器Container——又名 “组合 Composite”——是包含叶节点或其他容器等子项目的单位。容器不知道其子项目所属的具体类它只通过通用的组件接口与其子项目交互。容器接收到请求后会将工作分配给自己的子项目处理中间结果然后将最终结果返回给客户端。客户端Client通过组件接口与所有项目交互。因此客户端能以相同方式与树状结构中的简单或复杂项目交互。 三、伪代码 #!/usr/bin/env python # -*- coding: UTF-8 -*- __doc__ 组合模式例生成具有树状结构的食品分类并遍历输出 from abc import ABC, abstractmethodclass Component(ABC):抽象基类abstractmethoddef operation(self):passclass Leaf(Component):叶子节点类def __init__(self, name):self.name namedef operation(self, indent):return f{indent}- {self.name}class Composite(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 operation(self, indent):result [f{indent} {self.name}]for child in self.children:result.append(child.operation(indent ))return \n.join(result)if __name__ __main__: 食品 水果- 苹果- 香蕉 蔬菜- 西红柿- 黄瓜fruit Composite(水果)fruit.add(Leaf(苹果))fruit.add(Leaf(香蕉))vegetable Composite(蔬菜)vegetable.add(Leaf(西红柿))vegetable.add(Leaf(黄瓜))food Composite(食品)food.add(fruit)food.add(vegetable)print(food.operation())四、优缺点 优点 开闭原则。 无需更改现有代码 你就可以在应用中添加新元素 使其成为对象树的一部分。 缺点 对于功能差异较大的类提供公共接口或许会有困难。在特定情况下你需要过度一般化组件接口使其变得令人难以理解。 跳转主页【Python笔记】设计模式-CSDN博客
http://www.w-s-a.com/news/846366/

相关文章:

  • 重庆聚百思网站开发网络市场调研
  • seo工具共享网站敬请期待的英语
  • 最好看免费观看高清大全中国移动网络优化做什么的
  • 网站开发的步骤医院网站建设细节
  • 阿雷网站建设wordpress lucene
  • seo做多个网站建筑公司企业标语
  • 各大网站收录查询汕尾手机网站设计
  • 东莞网站平台费用58同城推广能免费做网站吗
  • 网站建设的组织机构做博客网站赚钱吗
  • 移动网站建设的前期规划内容南阳网站备案
  • 天津公司网站建设公司哪家好网站建设评估
  • 猪八戒网网站建设wordpress建网 打不开
  • 廊坊网站排名优化报价自学网站建设和seo
  • 摄影网站开发背景vs2012做网站
  • 网站建设空间使用标准沈阳网站建设招标公司
  • 网站流量怎么做的成都山而网站建设公司
  • 天河区网站建设公司爱站网排名
  • 怎样开发设计网站建设博物馆网页设计案例
  • 山西建设厅网站查不了seo搜索引擎优化包邮
  • 临沂网站建设价格太原网站优化公司
  • 网页设计基础课程设计搜索引擎优化英文
  • 网站备案号怎么查楼书设计素材网站
  • 网站设计机构有哪些中国建设银行网站登录不上
  • 烟台理工学校网站罗湖建设网站
  • 卑鄙的网站开发公司郑州人才网站
  • 成都专业的网站设计公司文化建设的成就
  • 做书籍封皮的网站如何建网站教程视频
  • 唐山建站公司模板ipfs做网站
  • 贵阳做网站品牌网站模板
  • 紫网站建设我的个人博客