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

建网站 域名 空间门户网站开发案例

建网站 域名 空间,门户网站开发案例,网站如何做实名验证,软件制作平台1 意图 允许一个对象在其内部状态改变时改变它的行为#xff0c;对象看起来似乎修改了它的类。#xff08;这里的对象指的就是模型中的Context#xff0c;行为指的就是State的子类#xff09; 2 动机 考虑一个问题#xff1a;实现一个表示网络连接的类TCPConnection对象看起来似乎修改了它的类。这里的对象指的就是模型中的Context行为指的就是State的子类 2 动机 考虑一个问题实现一个表示网络连接的类TCPConnection它的对象的状态处于若干不同状态之一连接已建立Established、正在监听Listening、连接已关闭Closed。当一个TCPConection对象收到其他对象的请求时他根据自身的状态做出不同的反应。例如一个Open请求的结果依赖于该连接时处于连接已关闭还是连接已建立的状态。状态模式描述了TCPConnextion如何在每一个状态下表现出不同的行为。 实现方法关键思想是在TCPConnection引入一个TCPState的抽象类来表示网络连接的状态。TCPState类为各个不同的状态声明了一个或一套公共的接口。针对每个状态的行为实现TCPState的子类。例如TCPEstablished和TCPClosed类分别实现了特定于TCPConnection的连接已建立状态和连接已关闭状态的行为。 #mermaid-svg-cw93gvB9MmYO1WL1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-cw93gvB9MmYO1WL1 .error-icon{fill:#552222;}#mermaid-svg-cw93gvB9MmYO1WL1 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-cw93gvB9MmYO1WL1 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-cw93gvB9MmYO1WL1 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-cw93gvB9MmYO1WL1 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-cw93gvB9MmYO1WL1 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-cw93gvB9MmYO1WL1 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-cw93gvB9MmYO1WL1 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-cw93gvB9MmYO1WL1 .marker.cross{stroke:#333333;}#mermaid-svg-cw93gvB9MmYO1WL1 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-cw93gvB9MmYO1WL1 g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-cw93gvB9MmYO1WL1 g.classGroup text .title{font-weight:bolder;}#mermaid-svg-cw93gvB9MmYO1WL1 .nodeLabel,#mermaid-svg-cw93gvB9MmYO1WL1 .edgeLabel{color:#131300;}#mermaid-svg-cw93gvB9MmYO1WL1 .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-cw93gvB9MmYO1WL1 .label text{fill:#131300;}#mermaid-svg-cw93gvB9MmYO1WL1 .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-cw93gvB9MmYO1WL1 .classTitle{font-weight:bolder;}#mermaid-svg-cw93gvB9MmYO1WL1 .node rect,#mermaid-svg-cw93gvB9MmYO1WL1 .node circle,#mermaid-svg-cw93gvB9MmYO1WL1 .node ellipse,#mermaid-svg-cw93gvB9MmYO1WL1 .node polygon,#mermaid-svg-cw93gvB9MmYO1WL1 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-cw93gvB9MmYO1WL1 .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-cw93gvB9MmYO1WL1 g.clickable{cursor:pointer;}#mermaid-svg-cw93gvB9MmYO1WL1 g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-cw93gvB9MmYO1WL1 g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-cw93gvB9MmYO1WL1 .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-cw93gvB9MmYO1WL1 .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-cw93gvB9MmYO1WL1 .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-cw93gvB9MmYO1WL1 .dashed-line{stroke-dasharray:3;}#mermaid-svg-cw93gvB9MmYO1WL1 #compositionStart,#mermaid-svg-cw93gvB9MmYO1WL1 .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-cw93gvB9MmYO1WL1 #compositionEnd,#mermaid-svg-cw93gvB9MmYO1WL1 .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-cw93gvB9MmYO1WL1 #dependencyStart,#mermaid-svg-cw93gvB9MmYO1WL1 .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-cw93gvB9MmYO1WL1 #dependencyStart,#mermaid-svg-cw93gvB9MmYO1WL1 .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-cw93gvB9MmYO1WL1 #extensionStart,#mermaid-svg-cw93gvB9MmYO1WL1 .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-cw93gvB9MmYO1WL1 #extensionEnd,#mermaid-svg-cw93gvB9MmYO1WL1 .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-cw93gvB9MmYO1WL1 #aggregationStart,#mermaid-svg-cw93gvB9MmYO1WL1 .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-cw93gvB9MmYO1WL1 #aggregationEnd,#mermaid-svg-cw93gvB9MmYO1WL1 .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-cw93gvB9MmYO1WL1 .edgeTerminals{font-size:11px;}#mermaid-svg-cw93gvB9MmYO1WL1 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 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模式将每个条件分支放入一个独立的类中。 结构 #mermaid-svg-nQjDJcnOLZtD5kc9 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-nQjDJcnOLZtD5kc9 .error-icon{fill:#552222;}#mermaid-svg-nQjDJcnOLZtD5kc9 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-nQjDJcnOLZtD5kc9 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-nQjDJcnOLZtD5kc9 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-nQjDJcnOLZtD5kc9 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-nQjDJcnOLZtD5kc9 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-nQjDJcnOLZtD5kc9 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-nQjDJcnOLZtD5kc9 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-nQjDJcnOLZtD5kc9 .marker.cross{stroke:#333333;}#mermaid-svg-nQjDJcnOLZtD5kc9 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-nQjDJcnOLZtD5kc9 g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-nQjDJcnOLZtD5kc9 g.classGroup text .title{font-weight:bolder;}#mermaid-svg-nQjDJcnOLZtD5kc9 .nodeLabel,#mermaid-svg-nQjDJcnOLZtD5kc9 .edgeLabel{color:#131300;}#mermaid-svg-nQjDJcnOLZtD5kc9 .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-nQjDJcnOLZtD5kc9 .label text{fill:#131300;}#mermaid-svg-nQjDJcnOLZtD5kc9 .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-nQjDJcnOLZtD5kc9 .classTitle{font-weight:bolder;}#mermaid-svg-nQjDJcnOLZtD5kc9 .node rect,#mermaid-svg-nQjDJcnOLZtD5kc9 .node circle,#mermaid-svg-nQjDJcnOLZtD5kc9 .node ellipse,#mermaid-svg-nQjDJcnOLZtD5kc9 .node polygon,#mermaid-svg-nQjDJcnOLZtD5kc9 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-nQjDJcnOLZtD5kc9 .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-nQjDJcnOLZtD5kc9 g.clickable{cursor:pointer;}#mermaid-svg-nQjDJcnOLZtD5kc9 g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-nQjDJcnOLZtD5kc9 g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-nQjDJcnOLZtD5kc9 .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-nQjDJcnOLZtD5kc9 .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-nQjDJcnOLZtD5kc9 .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-nQjDJcnOLZtD5kc9 .dashed-line{stroke-dasharray:3;}#mermaid-svg-nQjDJcnOLZtD5kc9 #compositionStart,#mermaid-svg-nQjDJcnOLZtD5kc9 .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-nQjDJcnOLZtD5kc9 #compositionEnd,#mermaid-svg-nQjDJcnOLZtD5kc9 .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-nQjDJcnOLZtD5kc9 #dependencyStart,#mermaid-svg-nQjDJcnOLZtD5kc9 .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-nQjDJcnOLZtD5kc9 #dependencyStart,#mermaid-svg-nQjDJcnOLZtD5kc9 .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-nQjDJcnOLZtD5kc9 #extensionStart,#mermaid-svg-nQjDJcnOLZtD5kc9 .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-nQjDJcnOLZtD5kc9 #extensionEnd,#mermaid-svg-nQjDJcnOLZtD5kc9 .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-nQjDJcnOLZtD5kc9 #aggregationStart,#mermaid-svg-nQjDJcnOLZtD5kc9 .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-nQjDJcnOLZtD5kc9 #aggregationEnd,#mermaid-svg-nQjDJcnOLZtD5kc9 .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-nQjDJcnOLZtD5kc9 .edgeTerminals{font-size:11px;}#mermaid-svg-nQjDJcnOLZtD5kc9 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Context -State state «interface» State operate() StateA operate() StateB operate() StateC operate() 结构和策略模式一摸一样但实际上实现起来并不一样策略模式各个子类间可以说是完全独立的而状态模式各个子类间是紧密关联的各个状态子类之间组合出一个完整的行为通常来说他们之间还会互相依赖因为Context从一个状态到另一个状态的转变时需要在状态子类中实现。 应用 java 中 spring提供的状态机框架Spring Statemachine就是对状态模式思想的一种实现还有很多工作流的框架都是基于状态模式实现的
http://wiki.neutronadmin.com/news/259578/

相关文章:

  • 网站制作com中国做的手机系统下载网站
  • 无锡网站策划台州网站制作定制
  • asp 做网站的缺点微信防红短链接生成
  • 做网站用的军事图片哪位大神推荐一下好网站
  • 临安规划建设局网站医疗器械四大龙头企业
  • C 如何做简易网站佛山本科网站建设
  • 合肥网站建设市场分析园林景观设计公司设计理念
  • 如何加强网站建设和信息宣传网站建设中下载
  • 大学电子商务网站建设方案查询网站后台地址
  • 免费做电子邀请涵的网站合肥市建设工程市场信息价
  • 如何攻击织梦做的网站方法舆情服务网站
  • 教育类集群网站建设搭建网站的过程
  • 东莞手机网站建设公司比wordpress更好知乎
  • 在哪些网站上发外链好做好中心网站建设工作
  • 中小企业网站建设 论文淘宝指数官网
  • 投教网站建设闸北手机网站建设
  • 江西网站建设网站域名怎么登陆
  • 敖汉旗网站建设工作组赴福建莆田
  • 网站开发用mvc多吗分析北师大教育学原理网站建设
  • 摄影网站建设流程常用开发工具
  • 汽车网站页面设计盐城seo快速排名
  • 可以拿自己电脑做网站东莞网站优化多少钱
  • 自助网站建设哪里可以做一个人网站需要注意什么
  • php完整电商网站开发源码做平台网站要增值业务吗
  • 网站空间免费申请ps做旅游网站
  • 做网站网站需要网站自做书本
  • 赣州公司做网站软件工程师一个月工资多少
  • 江苏网站seo平台做知乎网站社区要多少钱
  • 给一个装修公司怎么做网站WordPress套壳
  • 广州网站设计开发招聘安吉网站建设