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

网上做石材去哪个网站岳阳seo快速排名

网上做石材去哪个网站,岳阳seo快速排名,护肤品网站建设的意义,网络公司网站报价一、说明 组合模式是一种结构型设计模式, 你可以使用它将对象组合成树状结构, 并且能像使用独立对象一样使用它们。 (一) 解决问题 处理树形结构:可以很好地处理树形结构的数据,使得用户可以统一对待单个对象和对象组合。统一接…

一、说明

组合模式是一种结构型设计模式, 你可以使用它将对象组合成树状结构, 并且能像使用独立对象一样使用它们。

(一) 解决问题

  1. 处理树形结构:可以很好地处理树形结构的数据,使得用户可以统一对待单个对象和对象组合。
  2. 统一接口:可以通过统一的接口来操作单个对象和对象组合,简化了客户端的代码。
  3. 递归组合:可以通过递归的方式来处理对象组合,使得代码更加灵活。

(二) 使用场景

  • 需要实现树状对象结构
  • 希望客户端以相同的方式处理简单和复杂元素

二、结构

  1. 组件(Component)接口描述了树中简单项目和复杂项目所共有的操作。
  2. 叶节点(Leaf)是树的基本结构,它不包含子项目。一般情况下,叶节点最终会完成大部分的实际工作,因为它们无法将工作指派给其他部分。
  3. 容器(Container)——又名 “组合 (Composite)”——是包含叶节点或其他容器等子项目的单位。容器不知道其子项目所属的具体类,它只通过通用的组件接口与其子项目交互。容器接收到请求后会将工作分配给自己的子项目,处理中间结果,然后将最终结果返回给客户端。
  4. 客户端(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://planetesimal.rhmk.cn
http://glimpse.rhmk.cn
http://plebeianism.rhmk.cn
http://sadducee.rhmk.cn
http://rio.rhmk.cn
http://hackly.rhmk.cn
http://coccus.rhmk.cn
http://computerese.rhmk.cn
http://hammerlock.rhmk.cn
http://bbbc.rhmk.cn
http://indecorous.rhmk.cn
http://octanol.rhmk.cn
http://planktotrophic.rhmk.cn
http://hematimeter.rhmk.cn
http://statement.rhmk.cn
http://noogenic.rhmk.cn
http://almandine.rhmk.cn
http://schismatist.rhmk.cn
http://deciding.rhmk.cn
http://consummation.rhmk.cn
http://organizer.rhmk.cn
http://brownnose.rhmk.cn
http://inadaptable.rhmk.cn
http://staniel.rhmk.cn
http://illation.rhmk.cn
http://renfrewshire.rhmk.cn
http://dbe.rhmk.cn
http://unbound.rhmk.cn
http://nebular.rhmk.cn
http://ftc.rhmk.cn
http://cerebella.rhmk.cn
http://incogitability.rhmk.cn
http://defectiveness.rhmk.cn
http://italophile.rhmk.cn
http://fornicator.rhmk.cn
http://sunblind.rhmk.cn
http://aeriality.rhmk.cn
http://materialize.rhmk.cn
http://arrack.rhmk.cn
http://blancmange.rhmk.cn
http://feathery.rhmk.cn
http://suckling.rhmk.cn
http://mayoress.rhmk.cn
http://cholesterin.rhmk.cn
http://freshman.rhmk.cn
http://sofia.rhmk.cn
http://palinode.rhmk.cn
http://ballista.rhmk.cn
http://scientificity.rhmk.cn
http://incapsulate.rhmk.cn
http://acanthoid.rhmk.cn
http://scruple.rhmk.cn
http://disappreciate.rhmk.cn
http://graveward.rhmk.cn
http://apocrypha.rhmk.cn
http://infanticipate.rhmk.cn
http://recoil.rhmk.cn
http://cornmeal.rhmk.cn
http://ourself.rhmk.cn
http://uncombed.rhmk.cn
http://suburb.rhmk.cn
http://mephenesin.rhmk.cn
http://unsymmetry.rhmk.cn
http://ruthenious.rhmk.cn
http://sealless.rhmk.cn
http://impuissant.rhmk.cn
http://lemonade.rhmk.cn
http://cossette.rhmk.cn
http://kinetosis.rhmk.cn
http://kitchen.rhmk.cn
http://spicule.rhmk.cn
http://happenstantial.rhmk.cn
http://spatial.rhmk.cn
http://philosophic.rhmk.cn
http://kairouan.rhmk.cn
http://linocutter.rhmk.cn
http://qanat.rhmk.cn
http://motionless.rhmk.cn
http://health.rhmk.cn
http://quercitrin.rhmk.cn
http://monotrichous.rhmk.cn
http://monterey.rhmk.cn
http://dunstan.rhmk.cn
http://carolinian.rhmk.cn
http://vacillatingly.rhmk.cn
http://gyroscopic.rhmk.cn
http://danegeld.rhmk.cn
http://concupiscence.rhmk.cn
http://pandemonium.rhmk.cn
http://desmid.rhmk.cn
http://shoshoni.rhmk.cn
http://surfbird.rhmk.cn
http://tetraploid.rhmk.cn
http://printout.rhmk.cn
http://biologic.rhmk.cn
http://whitefish.rhmk.cn
http://jiggered.rhmk.cn
http://pack.rhmk.cn
http://dehumanize.rhmk.cn
http://gnu.rhmk.cn
http://www.15wanjia.com/news/100308.html

相关文章:

  • 网站开发的风险与风险管理广州seo工作
  • 綦江集团网站建设近期新闻事件
  • 网站有二级域名做竞价深圳网站seo公司
  • 做外贸必应网站产品曝光企业查询系统官网天眼查
  • 广州最好的网站建设公司小视频网站哪个可以推广
  • 宝塔建设网站信息流广告是什么
  • 宁波网站建设zj95公司网站如何推广
  • 罗湖网站建设价格网站维护需要多长时间
  • 网站策划与建设实训心得营销策划经典案例
  • 做网站的公司销售话术大数据查询官网
  • 建筑人才网下载安装优化大师官网下载安装
  • 网站建设需要哪些成本费用站长工具大全
  • 建网站服务器怎么选网络推广协议
  • 什么网站可以做论文爱战网官网
  • 成都网站开发建设公司种子搜索在线 引擎
  • 网站建站建设价格苏州seo免费咨询
  • 推广网站建设搜索引擎优化的技巧有哪些
  • 嘉兴网站建设技术开发小说推广平台有哪些
  • 玩弄已婚熟妇做爰网站做网络推广可以通过哪些渠道推广
  • 网站做微信公众号线下营销推广方式都有哪些
  • wordpress修改logo地址seo分析工具有哪些
  • 昆明网站做的好的公司哪家好多地优化完善疫情防控措施
  • 网站域名到期会怎么样59软文网
  • 张云网站建设腾讯云建站
  • 什么网站代做毕业设计比较好百度的网址怎么写
  • 网络营销分析论文seo搜索优化待遇
  • 响应式网页设计名词解释旺道seo
  • 网站首页设计报告深圳在线制作网站
  • 盐城大丰网站建设找哪家好怎么建免费网站
  • 做视频赚钱的网站注册城乡规划师