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

聊城做网站玉林市住房和城乡建设局网站

聊城做网站,玉林市住房和城乡建设局网站,建筑公司的愿景和使命,建设部勘察设计网站9.1 模板方法模式概述 模板方法模式是一种行为设计模式#xff0c;它使用一个抽象的基类定义了一个操作中的算法的骨架#xff0c;而将一些步骤的实现延迟到子类中。模板方法模式允许子类在不改变算法结构的情况下重新定义算法中的某些步骤。 9.2 代码示例 在Python中使用…9.1 模板方法模式概述 模板方法模式是一种行为设计模式它使用一个抽象的基类定义了一个操作中的算法的骨架而将一些步骤的实现延迟到子类中。模板方法模式允许子类在不改变算法结构的情况下重新定义算法中的某些步骤。 9.2 代码示例 在Python中使用模板方法模式时首先需要定义一个抽象基类其中包含一个模板方法该方法定义了算法的骨架以及一些抽象方法这些方法需要在子类中实现。然后子类可以继承抽象基类并实现其中定义的抽象方法以完成算法的具体实现。 下面是一个使用模板方法模式的示例 from abc import ABC, abstractmethod# 定义抽象基类 class AbstractClass(ABC):def template_method(self):self.step_one()self.step_two()self.step_three()abstractmethoddef step_one(self):passabstractmethoddef step_two(self):passabstractmethoddef step_three(self):pass# 定义具体子类 class ConcreteClass(AbstractClass):def step_one(self):print(Step one)def step_two(self):print(Step two)def step_three(self):print(Step three)# 使用具体子类 obj ConcreteClass() obj.template_method()在上面的示例中AbstractClass是抽象基类其中定义了一个template_method方法作为算法的骨架以及三个抽象方法step_one、step_two和step_three。ConcreteClass是具体子类它继承了AbstractClass并实现了其中的抽象方法。通过调用template_method方法可以执行算法的整个过程。 9.3 模板方法模式的UML图 模板方法模式的主要角色有:抽象类、具体类、模版方法和客户端。下面让我们把这些角色放入一个UML图中(见下图)看看这些类是如何关联的。 通过观察下面的UML图你会发现这个模式有4个主要参与者。 AbstractClass:在抽象方法的帮助下定义算法的操作或步骤。这些步骤将被具 体子类覆盖。template_method():定义算法的框架。在模板方法中调用抽象方法定义的多 个步骤来定义序列或算法本身。ConcreteClass:实现(由抽象方法定义的)步骤来执行算法子类的特定步骤。 9.4 模板方法模式的优点和缺点 9.4.1 模板方法模式提供以下优点: 由于模板方法模式使用继承而不是合成因此能够对代码进行重用。所以只有为 数不多的几个方法需要重写;灵活性允许子类决定如何实现算法中的步骤。 9.4.2 模板方法模式的缺点如下: 调试和理解模板方法模式中的流程序列有时会令人困惑。你最终实现的方法可能是 一个不应该实现的方法或根本没有实现抽象方法。文档和严格的错误处理必须由 程序员完成;模板框架的维护可能是一个问题因为任何层次(低层或高层)的变更都可能对实 现造成干扰。因此使用模板方法模式可能会使维护变得异常痛苦。
http://www.huolong8.cn/news/306278/

相关文章:

  • php+mysql网站开发...网络营销的功能有哪些?
  • 长宁做网站价格wordpress打赏
  • 杭州做微信网站软件公司做定制商品的网站
  • 插画设计网站推荐南京公司官网设计
  • 河南安阳网站建设有引导页的网站
  • 潍坊网站排名优化网站建设流程百科
  • 如何开网站做代销北京网站建设制作开发
  • 建设网站赚钱么网站备案之前需要建好网站吗
  • 站长素材免费下载远程服务器怎么建设自己的网站
  • 网站开发需求书做黄页网站要告我
  • 免费在线观看电视剧的网站有了源码该怎么建立app
  • 戚墅堰网站建设php网站开发多少钱
  • wordpress心理教育网站内蒙古建设厅网站查询
  • 创新的宁波网站建设网站移动端自适应
  • 做家常便饭网站网站建设公司福州
  • 有多少人自己做电影网站招商网站建设大概多少钱
  • 长沙做公司网站大概多少钱wordpress中文旅游模板下载
  • 网站开发有很多种吗应该双网站
  • 帮中介做网站赚钱吗免费的开源网站
  • 营销型企业网站建设的流程是用自己的网站做淘客
  • 建一个企业网站要花多少钱电子邮件无法发送wordpress
  • 宁晋网站建设设计做网站怎么云存储
  • 办公类网站开发背景wordpress不能发布文章
  • 网站的访问速度和什么有关系扁平化设计的网站
  • 网站可信度验证网站建设需要注意事项
  • vs html5网站开发汕头网站优化哪家好
  • 武义住房和城乡建设局网站人和马做的网站
  • 玉田住房与城乡建设局网站蓝色手机网站模板
  • 江门网站程序开发制作做网站必须有框架么
  • 校园网站建设的作用网站开发模块学些什么软件