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

网页制作哪家质量好排名网站优化培训

网页制作哪家质量好,排名网站优化培训,网页设计图片怎么变小,itmc平台seo优化关键词个数一、说明 装饰器模式是一种结构型设计模式#xff0c;旨在动态的给一个对象添加额外的职责。 (一) 解决问题 不改变原有对象结构的情况下#xff0c;动态地给对象添加新的功能或职责#xff0c;实现透明地对对象进行功能的扩展。 (二) 使用场景 如果用继承来扩展对象行… 一、说明 装饰器模式是一种结构型设计模式旨在动态的给一个对象添加额外的职责。 (一) 解决问题 不改变原有对象结构的情况下动态地给对象添加新的功能或职责实现透明地对对象进行功能的扩展。 (二) 使用场景 如果用继承来扩展对象行为的方案难以实现或者根本不可行时可以考虑使用装饰器模式。希望在无需修改代码的情况下即可使用对象 且希望在运行时为对象新增额外的行为。 二、结构 部件Component声明封装器和被封装对象的公用接口。具体部件Concrete Component类是被封装对象所属的类。它定义了基础行为但装饰类可以改变这些行为。基础装饰Base Decorator类拥有一个指向被封装对象的引用成员变量。该变量的类型应当被声明为通用部件接口这样它就可以引用具体的部件和装饰。装饰基类会将所有操作委派给被封装的对象。具体装饰类Concrete Decorators定义了可动态添加到部件的额外行为。具体装饰类会重写装饰基类的方法并在调用父类方法之前或之后进行额外的行为。客户端Client可以使用多层装饰来封装部件只要它能使用通用接口与所有对象互动即可。 三、伪代码 #!/usr/bin/env python # -*- coding: UTF-8 -*- __doc__ 装饰器模式例实现咖啡店的订单系统不同种类的咖啡可以搭配不同的调料使用装饰器对原有对象 增加相应配料信息和价格 class Coffee:基础组件类 - 咖啡def cost(self):return 9.9class Espresso(Coffee):具体组件类 - 浓缩咖啡def cost(self):return super().cost() 1def description(self):return 浓缩咖啡class Decorator(Coffee):装饰器基类 - 调料def __init__(self, coffee):self._coffee coffeedef cost(self):return self._coffee.cost()def description(self):return self._coffee.description()class Milk(Decorator):具体装饰器类 - 牛奶def cost(self):return super().cost() 2def description(self):return super().description() 牛奶class Sugar(Decorator):具体装饰器类 - 糖def cost(self):return super().cost() 0.5def description(self):return super().description() 糖# 客户端代码 if __name__ __main__:浓缩咖啡 (10.9 )浓缩咖啡 牛奶 (12.9 )浓缩咖啡 牛奶 糖 (13.4 )coffee Espresso()print(f{coffee.description()} ({coffee.cost()} ))# 加入牛奶coffee_with_milk Milk(coffee)print(f{coffee_with_milk.description()} ({coffee_with_milk.cost()} ))# 再加入糖coffee_with_sugar Sugar(coffee_with_milk)print(f{coffee_with_sugar.description()} ({coffee_with_sugar.cost()} ))四、优缺点 优点 灵活性高装饰器模式可以动态地给一个对象添加额外的功能而不需要改变其结构单一职责原则。 你可以将实现了许多不同行为的一个大类拆分为多个较小的类。提高了代码复用性可以将装饰器类与具体的组件类分开使得装饰器类可以复用于不同的组件类。 缺点 顺序对功能影响装饰器的顺序会影响最终的功能效果可能会导致功能组合的结果不可预测需要谨慎设计装饰器的顺序。增加了系统复杂性 跳转主页【Python笔记】设计模式-CSDN博客
http://www.hkea.cn/news/14396379/

相关文章:

  • 网站建设行业企业排名丽水建设局网站
  • 宁波市网站制作机械网站开发
  • 网站空间ip是一个域名贵州建设厅网站怎样查询电工证
  • 网站关键词工具有哪些wordpress文章主题
  • 萍乡网站建设公司沈阳网站建站
  • .net 门户网站泰安有口碑的网站建设
  • phpcms 怎么做视频网站首页一个网站的制作流程
  • 做网站维护的人叫啥wordpress中文切换
  • 设计海报网站wordpress免费教育插件
  • 肇庆市有那家做网站的学生成绩管理系统 网站建设
  • 娄底住房和城乡建设部网站公司网站建设费怎么写分录
  • 网站商务通弹出窗口图片更换设置宝塔wordpress内链打开404
  • 自己做网站需要学什么西安搜建站科技网站
  • 湖北手机版建站系统信息wordpress 分类目录 404
  • 为什么自己花钱做的网站竟然不是自己的 (重庆建设工程信息网官网成绩
  • 网站建设网站排名怎么做wordpress双栏主题
  • 做网站用百度地图和天地图自己做的网站访问速度慢
  • 用c3做的动画网站响应式网页设计用什么软件
  • 网站群发软文软件wordpress 显示下列项目
  • 梧州高端网站建设服务如何申请建设个人网站
  • 网站建设总结经验中企动力公司是做什么的
  • 北京征集网站建设网页设计实验报告3000
  • 0基础做下载网站建设网站选多大的空间合适
  • 焦作app网站建设汕头网站上排名
  • 基于jsp的社团组织网站建设静安做网站
  • wordpress流量站前端开发课程
  • 价格划算的做pc端网站扬中贴吧
  • 商城网站开发项目描述外贸推广公司排名
  • wordpress本地建站程序我的世界做壁纸网站
  • 迁安做网站中的cms润强wordpress acf主题选项