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

2核4g做网站wordpress 模块

2核4g做网站,wordpress 模块,站长工具爱站,潍坊网站优化公司哪家好目录 策略模式 模板方法模式 策略模式 定义一个个算法,把它们封装起来,并且使它们可以相互替换。本模式使得算法可独立于使用它的客户而变化。角色有:抽象策略、具体策略和上下文。 from abc import abstractmethod, ABCMeta from datetim…

目录

策略模式

模板方法模式


策略模式

定义一个个算法,把它们封装起来,并且使它们可以相互替换。本模式使得算法可独立于使用它的客户而变化。角色有:抽象策略、具体策略和上下文。

from abc import abstractmethod, ABCMeta
from datetime import datetime# 抽象策略
class Strategy(metaclass=ABCMeta):@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(metaclass=ABCMeta):@abstractmethoddef start(self):  # 原子操作/钩子操作pass@abstractmethoddef repaint(self):  # 原子操作/钩子操作pass@abstractmethoddef 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.yayakq.cn/news/78183/

相关文章:

  • 百度如何建网站北京商场推荐
  • wordpress站点信息修改版权有什么可以做翻译的网站
  • 安义网站建设网络推广课程
  • 高端企业门户网站建设费用移动互联网开发技术是什么
  • 培训网站搭建做网站专题的效果
  • 桐梓网站建设企业网站源代码免费下载
  • 个人衣服定制店铺优化方案物理必修一电子版
  • 建设网站是否等于网络营销做模板网站赚钱吗
  • 邵阳市住房和建设局网站微信小程序加盟哪个好
  • 做问卷调查赚钱的网站好施工企业平台
  • 微网站免费模板网站服务器购买
  • 网站要和别人做api 链接潍坊模板建站定制
  • 聚名网域名注册官网seo流量软件
  • 建设部执业资格网站百度入口网站
  • 贷款网站织梦模板源码值得买wordpress
  • 周至做网站做一名优秀网站设计师计划
  • 设计师赚钱的网站淄博网站制作网络丰富
  • 网站建设 请示叫人做网站多少钱
  • 互诺科技做网站怎么样百度seo在线优化
  • 电影购买网站怎么设计dedecms 安防监控行业网站模板
  • 东莞搜索引擎网站推广燃灯seo
  • 做电子杂志用什么网站个人不动产证查询官网
  • 网站支付页面设计奉贤集团网站建设
  • 兰州网站建设方法提供企业网站建设价格
  • 如何检测网站的打开速度深圳福田区住房和建设局官方网站
  • 做网站规划中国做水产的有什么网站
  • 红色礼品网站模板简航app是什么
  • 东莞市建设质量监督站做网站游戏总结的例文
  • 网站建设流程报价中国能源建设集团有限公司怎么样
  • 水墨 网站源码湖北省建设信息网站