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

建设比较好网站会员积分系统

建设比较好网站,会员积分系统,智能小程序开发者工具,黑龙江最新通知今天1 意图 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。(这里的对象指的就是模型中的Context,行为指的就是State的子类) 2 动机 考虑一个问题:实现一个表示网络连接的类TCPConnection&am…

1 意图

允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。(这里的对象指的就是模型中的Context,行为指的就是State的子类)

2 动机

考虑一个问题:实现一个表示网络连接的类TCPConnection,它的对象的状态处于若干不同状态之一:连接已建立(Established)、正在监听(Listening)、连接已关闭(Closed)。当一个TCPConection对象收到其他对象的请求时,他根据自身的状态做出不同的反应。例如,一个Open请求的结果依赖于该连接时处于连接已关闭还是连接已建立的状态。状态模式描述了TCPConnextion如何在每一个状态下表现出不同的行为。

实现方法:关键思想是在TCPConnection引入一个TCPState的抽象类来表示网络连接的状态。TCPState类为各个不同的状态声明了一个(或一套)公共的接口。针对每个状态的行为实现TCPState的子类。例如,TCPEstablished和TCPClosed类分别实现了特定于TCPConnection的连接已建立状态和连接已关闭状态的行为。

TCPConnection
-TCPState tpcState;
open()
acknowledge()
close()
«interface»
TCPState
open()
acknowledge()
close()
TCPOpen
open()
acknowledge()
close()
TCPEstablished
open()
acknowledge()
close()
TCPClosed
open()
acknowledge()
close()

TCPConnection类维护一个表示TCP连接当前状态的状态对象(一个TCPState子类的实例)。TCPConnection类将所有与状态相关的请求委托给这个状态的对象。TCPConnection使用它 的TCPState子类实例来执行特定于连接状态的操作。
一旦连接状态改变,TCPConnection对象就会改表它所使用的状态对象。例如当连接从已建立状态转位已关闭状态时,TCPConnection会用一个TCPClosed的实例来代替原来的TCPConnextion的实例,至于怎么替换,一般是在一个状态结束的时候掉用给TCPConnextion的TCPState变量设置成另外一个状态类实例。

使用场景

  • 对象的行为取决于它的状态。并且它必须在运行的时根据状态改变它的行为。
  • 一个操作中含有大量的多分支的条件语句,并且这些分支依赖于该对象的状态。这个状态通常有一个或者多个枚举常量表示。通常,多个操作包含这一相同的条件结构。State模式将每个条件分支放入一个独立的类中。

结构

Context
-State state
«interface»
State
+operate()
StateA
+operate()
StateB
+operate()
StateC
+operate()

结构和策略模式一摸一样,但实际上实现起来并不一样,策略模式各个子类间可以说是完全独立的,而状态模式各个子类间是紧密关联的,各个状态子类之间组合出一个完整的行为,通常来说他们之间还会互相依赖,因为Context从一个状态到另一个状态的转变时需要在状态子类中实现。

应用

java 中 spring提供的状态机框架Spring Statemachine,就是对状态模式思想的一种实现;还有很多工作流的框架都是基于状态模式实现的

http://www.yayakq.cn/news/743331/

相关文章:

  • 网站建设公司怎样关键词三年级
  • 吴桥做网站小程序 wordpress
  • 嘉定区做网站html网页制作动态效果
  • mysql 网站登录密码做年报的网站
  • 猪八戒网站找做微信小程序的高端网站登录入口
  • 南昌简单做网站女孩子学做网站有前途吗
  • 宁波建站模板国内免费注册域名
  • 网站两侧固定广告代码网站视频怎么做的
  • 昭平县建设局网站做网站制作大概多少钱
  • 用电脑做网站的历史在哪里找网络推广产品
  • 清远建设网站万能编程软件
  • 如何查网站开发商学校宣传片视频如何制作
  • 黄浦手机网站建设网站建设平台方案
  • 做网站的公司上海dw网站开发环境搭建
  • 人社网站和微信平台建设方案漯河住房和城乡建设局网站
  • 如何让谷歌收录网站广州seo服务外包
  • 网站建设免费网络服务器搭建配置与管理 下载
  • 吉祥物设计网站医院网站建设策划书
  • 左右布局的网站idc网站模版
  • 中国建设银行招投标网站asp网站开发教程
  • 锦州网站建设案例网站织梦模板
  • 网站gzip压缩wordpress 代做网站
  • 一个企业网站ppt怎么做小程序怎么开
  • 中山营销网站建设为网站吸引流量的方法
  • 有源码个人网站怎么建立京东不让卖网站制作么
  • 上海网站制作哪家奿wordpress解压子目录下
  • 网站仿制公司最新自助建站源码
  • 注册域名 不建网站建站行业转型
  • 利用阿里云虚拟主机做网站轻淘客网站建设
  • 常见的网站空间饿了么企业网站