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

如何建设一个专业的网站WordPress集成阿里图标

如何建设一个专业的网站,WordPress集成阿里图标,wordpress子标题,网站开发宣传方法一、说明 组合模式是一种结构型设计模式, 你可以使用它将对象组合成树状结构, 并且能像使用独立对象一样使用它们。 (一) 解决问题 处理树形结构:可以很好地处理树形结构的数据,使得用户可以统一对待单个对象和对象组合。统一接…

一、说明

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

(一) 解决问题

  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://www.yayakq.cn/news/602571/

相关文章:

  • 网站互动怎么做小杨哥直播带货平台
  • 淘宝领券网站怎么做网站php文件上传
  • 不同类型的网站少儿编程scratch
  • 0建设营销型网站步骤沈阳网站关键词优化多少钱
  • 苏州网站建站公司云南seo简单整站优化
  • 伪静态 网站如何扫描郑州中森网站建设
  • 濮阳网站建设熊掌网络多语言网站怎么实现
  • 专题网站可以做什么做网站前端要会什么
  • jsp做的网站运行都需要什么怎样进行网站建设步骤
  • 菏泽网站建设价格深圳品牌网站推广公司哪家好
  • 网站建设合同书-详细版网站开发制作全包
  • 怎样自己做网站模板discuz 手机网站模板
  • 怎么查看网站的点击率云南网站备案难吗
  • 哪些公司用.cc做网站xmlrpc wordpress
  • 南昌网站设计建设html企业网站系统
  • 网站建设自评报告重庆seo黄智
  • wordpress 导航站主题平台投放广告怎么收费
  • 石家庄企业网站制作哪家好怎么做电影网站页面的
  • 深圳做网站设计公司织梦禁止网站右击
  • 网站建好了 怎么建后台建设一个网站要多少费用吗
  • 甘肃网站建设哪家便宜网站开发技术考题
  • 绍兴兴住房和城乡建设局网站建设网站公司不给源代码
  • 网站 制作登录如何免费网络营销推广
  • 长沙网上购物超市网站建设优化的作用
  • 捷信做单网站wordpress全文搜索
  • 网站建设与维护期末考试题如何做网站教学
  • 网站下载软件怎么安装重庆技术网站建设
  • 外贸多语言网站免费源码wordpress系统的特点
  • 做亚马逊有哪些网站可以清货网站评论管理怎么做
  • 亳州网站建设手机百度推广怎么打广告