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

机加工如何用网站开发客户wordpress小工具是什么意思

机加工如何用网站开发客户,wordpress小工具是什么意思,泰安平台公司,赣榆县建设局网站一、引言 在软件设计中#xff0c;设计模式是解决常见问题的最佳实践。它们提供了一种重用设计的方法#xff0c;使得代码更易于理解、维护和扩展。状态设计模式是行为设计模式的一种#xff0c;它允许对象在其内部状态改变时改变其行为。当控制一个对象的状态转换条件表达…一、引言 在软件设计中设计模式是解决常见问题的最佳实践。它们提供了一种重用设计的方法使得代码更易于理解、维护和扩展。状态设计模式是行为设计模式的一种它允许对象在其内部状态改变时改变其行为。当控制一个对象的状态转换条件表达式过于复杂时使用状态模式可以简化代码。 二、状态设计模式的定义 状态模式State Pattern允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。其意图是让一个对象在其内部状态改变的时候其行为也随之改变。这个对象看起来就像是改变了它的类一样。 三、状态设计模式的结构 状态模式包含以下角色 环境Context持有当前状态并定义客户端需要的接口。环境类可以将自身作为一个参数传递给处理请求的状态类方法从而实现对环境的操作。抽象状态State定义一个接口以封装与环境的特定状态相关的行为。具体状态Concrete State实现抽象状态接口中所定义的方法。每个具体状态都表示一个可以相互转换的状态。 四、Python实现状态设计模式 让我们用一个简单的例子来充分了解该模式中的3 个参与者。假设要用一个简单的按钮来实现电视遥控器执行开/关动作。如果电视打开这个遥控器按钮将关闭电视反之亦然。在这种情况下state 接口将会定义相应的方法(例如doThis))来执行诸如打开/关闭电视等操作。我们还需要定义 Concrete 类来处理不同的状态。在这个例子中我们有两个主要状态startstate和 stopstate它们分别表示电视的打开状态和电视的关闭状态。 就本例来说TVContext 类将实现 state 接口并维护对当前状态的引用。根据相应的请求TVContext 将它们转发到相应的 Concretestate类这个类实现了(针对给定状态的)实际行为从而执行所需的操作。因此,在这种情况下,基本状态是 startstate(如前面定义的)TVContext 类接收的请求是关闭电视。TVContext 类可以理解该需求并相应地将它转发到 stopstate 相应的类之后这个类就会从内部调用 doThis()方法来实际关闭电视: 下面是一个简单的Python代码示例展示了如何使用状态模式 from abc import abstractmethod, ABCMetaclass State(metaclassABCMeta):abstractmethoddef doThis(self):passclass StartState(State):def doThis(self):print(TV Switching ON..)class StopState(State):def doThis(self):print(TV Switching OFF..)class TVContext(State):def __init__(self):self.state Nonedef getState(self):return self.statedef setState(self, state):self.state statedef doThis(self):self.state.doThis()context TVContext() context.getState() start StartState() stop StopState() context.setState(stop) context.doThis()五、适用场景与优点 5.1 适用场景 对象的行为依赖于它的状态属性并且它会根据它的状态改变而改变它的相关行为。代码中包含大量与对象状态有关的条件语句例如 switch-case 语句或 if-else 语句。使用状态模式可以将这些条件判断逻辑转移到不同状态类中提高代码的可读性和可维护性。需要对对象的各种状态进行统一管理且不同状态下对象的行为有较大差异。 5.2 优点 封装了状态的转换规则在状态类中可以局部化状态的转换逻辑避免了过多的条件判断。将所有与某个状态有关的行为放到一个类中只需要注入一个不同的状态对象即可使环境对象拥有不同的行为。这样可以减少环境中的代码量使其更加简洁清晰。允许状态转换逻辑与状态对象合成一体而不是提供一个巨大的条件语句块。这有利于代码的复用和扩展。
http://www.sadfv.cn/news/368042/

相关文章:

  • 新站快速收录广州制作网站公司简介
  • 淄博易宝网站建设中国贸易网是什么网站
  • 网站知名度怎么才能成为wordpress高手
  • 关系建设的网站商标注册网电子证书
  • 单页网站程序网站建设 镇江万达
  • 做网站一年需要多少钱做求职网站
  • 网站开发demo是什么淄博网赢网站建设
  • 我的世界做指令的网站成品影视app开发制作
  • 网站页面怎么算福田网站建设新闻
  • Python做网站难不难网站开发组件拖拽
  • 做网站的属于什么专业哈尔滨网站建设公司那家好
  • 友汇网站建设一般多少钱南宁企业网站制作
  • 万全孔家庄做网站百度容易收录的网站
  • 哈尔滨市做网站自己制作小程序怎么做
  • 做外贸推广自己网站企业网站源码去一品资源网
  • 2019做网站图片用什么格式wordpress 怎么看
  • 网站服务器年线太长重庆酉阳网站设计公司
  • 网站建设与管理的体会手机网站cms
  • 英语培训网站源码拖拽式制作网站
  • 洪宇建设集团公司网站wordpress生成小程序
  • 金融网站怎么做湖南企业做网站
  • 怎么做文学动漫网站如何做招聘网站的对比
  • 1核2g+做网站好看的网站色彩搭配
  • 商城网站的管理用户模块龙岩市住房与城乡建设部网站
  • 群晖可不可以做网站用南京网站公司
  • 福州 网站设计提供模板网站制作多少钱
  • 温州人才网站开发app开发公司排行榜做软件的公司
  • 最好的商业网站西安工程网站建设
  • 网站建设哪里去学安徽网络优化公司
  • 网站建设需要哪些书籍网站背景色代码