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

苏州建设网站市政中标项目wordpress付免签插件

苏州建设网站市政中标项目,wordpress付免签插件,免费软件定位对方手机位置,徐州官方发布目录 策略模式 模板方法模式 策略模式 定义一个个算法#xff0c;把它们封装起来#xff0c;并且使它们可以相互替换。本模式使得算法可独立于使用它的客户而变化。角色有#xff1a;抽象策略、具体策略和上下文。 from abc import abstractmethod, ABCMeta from datetim…目录 策略模式 模板方法模式 策略模式 定义一个个算法把它们封装起来并且使它们可以相互替换。本模式使得算法可独立于使用它的客户而变化。角色有抽象策略、具体策略和上下文。 from abc import abstractmethod, ABCMeta from datetime import datetime# 抽象策略 class Strategy(metaclassABCMeta):abstractmethoddef execute(self, data):pass# 具体策略 class FastStrategy(Strategy):def execute(self, data):print(使用较快的策略处理%s % data)# 具体策略 class SlowStrategy(Strategy):def execute(self, data):print(使用较慢的策略处理%s % data)# 上下文 class Context:def __init__(self, strategy, data):self.data dataself.strategy strategy# 可以定义用户不知道的东西self.date datetime.now()def set_strategy(self, strategy):self.strategy strategydef do_strategy(self):self.strategy.execute(self.data)data Hello! # 使用较快的策略处理 fast_strategy FastStrategy() context Context(fast_strategy, data) context.do_strategy() # 使用较慢的策略处理 slow_strategy SlowStrategy() context Context(slow_strategy, data) context.do_strategy()使用较快的策略处理Hello! 使用较慢的策略处理Hello!优点定义了一些列可重用的算法和行为消除了一些条件语句可以提供相同行为的不同实现缺点客户必须了解不同的策略。 模板方法模式 内容定义一个操作中的算法骨架将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。使用模板方法需要用到两种角色分别是抽象类和具体类。抽象类的作用是是定义抽象类钩子操作实现一个模板方法作为算法的骨架。具体类的作用实现原子操作。 from abc import ABCMeta, abstractmethod from time import sleep# 抽象类 class Window(metaclassABCMeta):abstractmethoddef start(self): # 原子操作/钩子操作passabstractmethoddef repaint(self): # 原子操作/钩子操作passabstractmethoddef stop(self): # 原子操作/钩子操作passdef run(self):模板方法(具体方法)这个大逻辑就不需要自己写了:return:self.start()while True:try:self.repaint()sleep(1)except KeyboardInterrupt:breakself.stop()# 具体类 class MyWindow(Window):def __init__(self, msg):self.msg msgdef start(self):print(窗口开始运行)def stop(self):print(窗口停止运行)def repaint(self):print(self.msg)MyWindow(Hello...).run() 模板方法适用的场景一次性实现一个算法的不变部分各个子类中的公共行为应该被提取出来并集中到一个公共父类中以避免代码重复控制子类扩展。
http://www.sczhlp.com/news/259206/

相关文章:

  • 海口网站建设方案优化旅游网站设计的建设原则
  • 汕头建站平台天津如何做百度的网站推广
  • 免费的公司网站怎么做12380网站建设情况
  • 企业网站wap源码wordpress网站很慢
  • 佛山建网站哪家好企业网站平台建设咨询合同
  • 图片版小说网站源码特价主机网站空间租用
  • wordpress建站网页无法运作英国人买服务器网站
  • 专业模板网站制作多少钱网站菜单框架
  • 网站建设辅助课程网站资源建设小结
  • 工信部公布网站备案拍照背景贵州省住房和城乡建设厅网站-首页
  • 网站建设需要哪些条件wordpress 获取表单数据
  • 站长检测工具专业的模板建站企业
  • 最安全的网站语言什么是网站权重
  • 网推怎么做最有效网站如何做排名优化
  • 网站开发的各个阶段及其完成的任务深圳注册公司无地址怎么办?
  • 网站开发视频会议插件今天广州新增确诊最新消息
  • 2025年定制全屋家居机构权威推荐榜单:全屋定制装修/全屋定制品牌/全屋定制十大品牌源头机构精选
  • 2025年11月中国市场上蘑菇生产厂家哪家好?【一个榜单为让你轻松了解】
  • 2025年太原苹果售后维修点推荐:茂业中心店市场报告与选择建议
  • 2025年热门的模具冷焊机厂家推荐及选择指南
  • 2025 年切管机厂家最新推荐排行榜:全自动/半自动/液压/伺服切管机实力企业权威甄选
  • 企业网站建设应具备的功能ps怎么做网站横幅广告
  • 宝安区网站建设培训鞍山天乙网络推广有限公司
  • 网站被谷歌降权网上美工培训
  • 哪些网站适合花钱做推广建设工程 质量 协会网站
  • 手机版网站建设开发网站建设与管理的总结
  • 阿里云怎样做商城式网站网站开发需要python 吗
  • 国外的旅游网站做的如何知乎问答网站开发教程
  • 用模板做的网站权重高吗附近临时工500元一天
  • 网站开发视频 百度云网络营销推广的特点有