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

购物网站网页设计报告珠海pc网站建设

购物网站网页设计报告,珠海pc网站建设,c语言,建个人网站目录 定义 类图 角色 state:抽象状态对象​ ConcreteState:具体状态角色​ Context: 环境角色​ 优缺点 优点​ 缺点​ 使用场景 代码示例 总结 定义 状态模式允许一个对象在其内部状态改变时改变它的行为,从外部看来,对象仿佛修改了它的类。它是行为型…

目录

定义

类图

角色

state:抽象状态对象​

ConcreteState:具体状态角色​

Context: 环境角色​

优缺点

优点​

缺点​

使用场景

代码示例

总结


定义

        状态模式允许一个对象在其内部状态改变时改变它的行为,从外部看来,对象仿佛修改了它的类。它是行为型设计模式的杰出代表,通过将对象的状态封装在不同的状态类中,使得对象的行为能够根据当前状态动态调整。例如,在一个游戏角色系统中,角色可能处于正常、奔跑、跳跃、受伤等多种状态。当角色从正常状态切换到奔跑状态时,其移动速度、动画表现等行为都会随之改变,这正是状态模式的生动体现。

        状态模式与策略模式堪称 “亲兄弟”,但二者存在关键区别:策略模式着重于让对象在运行时选择不同的策略来执行特定功能;而状态模式则强调对象在不同状态下自动改变行为,状态的切换驱动着行为的变化。​

类图

角色

  • state:抽象状态对象​
  • 抽象状态对象是状态模式的基石,它负责定义对象的状态,并封装了环境角色以实现状态转换。通常以抽象类或接口的形式存在,为具体状态角色提供统一的行为接口。在这个抽象层面,虽然不涉及具体的行为实现,但规定了所有具体状态类必须实现的方法,这些方法涵盖了在该状态下对象可能执行的各种操作。例如,在一个文档审批系统中,抽象状态类可能定义了 “提交审批”“批准”“拒绝” 等方法,不同的具体状态(如 “待审批状态”“审批通过状态”“审批拒绝状态”)将根据自身逻辑实现这些方法。​

  • ConcreteState:具体状态角色​
  • 具体状态角色是抽象状态的具体实现,承担着两项重要职责。其一,管理本状态下对象的行为,即实现抽象状态类中定义的方法,以符合该状态下对象应有的行为表现。比如在一个电商订单系统中,“已支付状态” 的具体状态类会实现 “发货” 方法,而 “未支付状态” 的具体状态类则可能将 “发货” 方法实现为空操作或者抛出提示用户先支付的异常。其二,负责趋向状态管理,也就是定义本状态如何过渡到其他状态。例如,在 “已支付状态” 下,当用户取消订单时,可能会切换到 “订单取消状态”。每个具体状态类都专注于自身状态相关的逻辑,使得代码的职责更加清晰,易于维护和扩展。​

  • Context: 环境角色​
  • 环境角色是状态模式中的核心协调者,它定义了客户端所需要的接口,客户端通过与环境角色交互来间接操作对象的状态和行为。环境角色内部维护着一个当前状态的引用,这个引用指向具体的状态对象。当客户端调用环境角色的方法时,环境角色会将请求委托给当前的状态对象进行处理。同时,环境角色还负责具体状态的切换,当满足特定条件时,它会改变当前状态的引用,使对象切换到新的状态,从而自动改变对象的行为。以一个自动售货机为例,售货机本身就是环境角色,它维护着机器的当前状态(如 “


文章转载自:

http://OumdDBWZ.fLfxb.cn
http://pv5pPVDS.fLfxb.cn
http://FSObEadW.fLfxb.cn
http://O86216W2.fLfxb.cn
http://gq6LlxbP.fLfxb.cn
http://Z3ImfrsJ.fLfxb.cn
http://i1UbZW9b.fLfxb.cn
http://Izrn0LQz.fLfxb.cn
http://uCT11stC.fLfxb.cn
http://MPlmpK8X.fLfxb.cn
http://4ngCKSna.fLfxb.cn
http://syCxEKRk.fLfxb.cn
http://SP3d4BQ3.fLfxb.cn
http://x74Rrkvt.fLfxb.cn
http://rl10jOmr.fLfxb.cn
http://oIiRMpar.fLfxb.cn
http://AgTy7bij.fLfxb.cn
http://wtj3r4xB.fLfxb.cn
http://R02H7URN.fLfxb.cn
http://EBLSd8nF.fLfxb.cn
http://iNQh98Ic.fLfxb.cn
http://1uVFdVBT.fLfxb.cn
http://hPatlvlF.fLfxb.cn
http://MU5UyXNM.fLfxb.cn
http://O3LtXVqF.fLfxb.cn
http://pddWixlK.fLfxb.cn
http://723utXh0.fLfxb.cn
http://QBgH8YYa.fLfxb.cn
http://uvwmB5jR.fLfxb.cn
http://hPYa2Xcj.fLfxb.cn
http://www.dtcms.com/wzjs/606659.html

相关文章:

  • 做文学网站需要推荐做幻灯片搜图网站
  • 什么软件可以建设网站个人域名备案的要求
  • 贵阳网络网站建设邢台城乡规划局建设工程网站
  • 静态网站的短处网站建设与网页设计试卷
  • windows做网站服务器兼职做网站的软件
  • 花店网站建设构思网站建设的总体需求分析
  • 网站开发asp.networdpress mnews主题
  • 高新区微网站建设wap网站 区别
  • 网站链接做app广元北京网站建设
  • 化妆品网站设计开题报告wordpress怎么更改网站名字
  • 西安网站制作哪家便宜又好服务器可以吧网站做跳转吗
  • 如何做新闻源网站平面设计网课平台哪个好
  • 做网站广告经营者网店推广运营
  • 免费建站免费二级广州网上推广平台
  • 自己做的网站403做网站不搭建本地环境
  • php餐饮美食店网站源码 生成html网页设计师学习网站
  • 品牌免费网站建设建立企业门户网站
  • 网站关键词更改黑帽seo联系方式
  • 烟台网站的建设网页版登录入口
  • 个人做网站法律风险旅行社应做哪些网站
  • 山西建筑劳务网站与小学生一起做网站
  • 江苏住房和城乡建设部网站新公司网络推广
  • 有专业做网站的吗网站公司陕西富国建设工程有限公司网站
  • 网站欢迎页面在线设计网站建设研究的意义
  • 专业网站优化价格wordpress搭建像册
  • 响应式网站开发周期西安seo外包费用
  • 做网站套路玩客云做网站
  • 厦门软件外包公司郑州seo线上推广系统
  • 重视网站商务通国外网站建设方案
  • 创建网站的网站建站之星安装说明