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

html手机网站合肥 做网站的公司

html手机网站,合肥 做网站的公司,原始传奇官网登录入口,网站建设倒计时单页源码状态模式#xff0c;是一种行为模式#xff0c;在软件开发过程中#xff0c;对象按照不同的情况做出不同的行为#xff0c;我们把这样的对象称为具有状态的对象#xff0c;而把影响对象行为的一个或者多个动态变化的属性称为状态。 对这种具有状态的对象变成#xff0c;…状态模式是一种行为模式在软件开发过程中对象按照不同的情况做出不同的行为我们把这样的对象称为具有状态的对象而把影响对象行为的一个或者多个动态变化的属性称为状态。 对这种具有状态的对象变成传统的解决方案是将这些所有可能发生情况全部考虑到然后使用if-else或者switch-case语句来做状态判断再进行不同情况的处理。但是这种情况存在一个弊端就是条件判断语句会过于浮肿可读性差并且不具备拓展性维护难度也将加大并且增加新的状态时需要添加新的if-else语句这违背了“开闭原则”并不利于程序的拓展。 状态模式它允许对象在内部状态改变时改变其行为。状态模式将状态和对应的行为封装成不同的状态对象使得对象的行为可以根据不同的状态进行动态切换。 状态模式的核心组成部分包括 状态接口State Interface定义了状态对象的接口包含了对象在该状态下可以执行的方法。 具体状态类Concrete State实现了状态接口在具体的状态下定义了对象的行为。 环境类Context包含了一个状态对象并维护当前的状态可以根据不同的状态调用相应的方法。 状态模式的主要优点包括 将状态和行为分离将不同的状态封装成不同的对象使得状态和行为可以独立变化提高了代码的灵活性和可维护性。 简化条件语句通过状态对象的切换来替代复杂的条件语句使得代码更加清晰和易懂。 符合开闭原则增加新的状态类不会修改已有的代码只需要添加新的状态类和相应的转换规则。 关于状态模式的限制和适用场景 可能增加对象的数量每个状态都需要一个对应的状态类可能会增加对象的数量。 当状态比较少且相对简单时使用状态模式可能会增加代码的复杂性。 状态模式对开闭原则的支持并不太好对于可以切换状态的状态模式增加新的状态类需要修改那些负责状态转换的源代码否则无法切换到新增状态而且修改某个状态类的行为也需修改对应类的源代码。 /*** 抽象状态State角色定义一个接口用以封装环境对象中的特定状态所对应的行为可以有一个或多个行为。*/ public interface State {//行为动作...public void doAction(Context context);}/*** 具体状态Concrete State角色实现抽象状态所对应的行为并且在需要的情况下进行状态切换。* 这里代表游戏玩家开始的状态.*/ public class StartState implements State {Overridepublic void doAction(Context context) {System.out.println(玩家处理于启动状态,开始相应操作);//给上下文对象设定对应的状态对象然后在 context执行对应的操作// 这里避免了使用 if...else 这样的判断语句.context.setState(this);}Overridepublic String toString(){return 开始状态;} }/*** 环境类Context角色也称为上下文它定义了客户端需要的接口内部维护一个当前状态并负责具体状态的切换。** 状态机*/ public class Context {/*** ******* 状态*/private State state;public Context(){state null;}//******状态修改public void setState(State state){this.state state;//TODO:在这里可以加入 状态修改后的进一步的操作...//修改状态 - 触发事件 - 消息通知 - 操作 - 状态改变.// a - e1 - b// b - e2 - c}public State getState(){return state;} }public class StatePatternDemo {public static void main(String[] args) {Context context new Context();//注意比较: 以下状态发生变化时无须要用 if..else做状态判断.//设置状态为开始.StartState startState new StartState();startState.doAction(context);System.out.println(context.getState().toString());//修改状态为 stopStopState stopState new StopState();stopState.doAction(context);System.out.println(context.getState().toString());} }/*** 具体状态Concrete State角色实现抽象状态所对应的行为并且在需要的情况下进行状态切换。* 停止状态*/ public class StopState implements State {Overridepublic void doAction(Context context) {System.out.println(Player is in stop state);//给上下文对象设定对应的状态对象然后在 context执行对应的操作// 这里避免了使用 if...else 这样的判断语句.context.setState(this); }Overridepublic String toString(){return Stop State;} }路才刚刚开始走怎么能半路放弃呢听我所听做我想做梦我想梦也许几年后我看到这句话会把他删掉也许他就这么挂在这里一直挂着。我与众生皆为凡人无高低贵贱他擅他长吾擅吾长何须羡慕他人等身在其位专攻其事如若不善辞职跑路何须压抑与心之久于己不快哉长路漫漫有人陪同吾亦乐之无人陪同吾亦独行彼岸花开终有一日吾亦赏之。
http://www.zqtcl.cn/news/794685/

相关文章:

  • 增加网站关键词库网盟推广合作
  • 企业门户网站内容建设濮阳网络培训基地
  • 做亚马逊运营要看哪些网站免费咨询电脑问题
  • 如何用html制作网站app开发要多少钱
  • 中国搜索提交网站信息网络犯罪
  • 网站服务器做下载链接分销平台系统源码
  • 网站管理助手建站沈阳专业网站建设企业
  • 企业网站开发公司大全建筑工程培训
  • 免费网站开发模板云南省网站开发软件
  • dede小游戏php网站源码广州网站vi设计报价
  • 邯郸建设局网站资质申报wordpress 前端 插件
  • 关于asp_sql网站开发的书籍小程序跳转网页方法
  • 昆明网站开发公司电话建设手机银行的网站
  • 福州建设注册中心网站怎么做公司展示网站
  • 网络营销网站建设知识平面设计初中毕业能学吗
  • 2019销售网站开发与设计现状怎么在网上卖东西赚钱
  • 做网站前后端的发布流程如何管理wordpress网站模板下载
  • 网站历史频道怎么做网站修改标题有影响吗
  • 做自己的卡盟网站做技术一般逛那些网站
  • 网站建设自学多长时间做网站原型的软件
  • 营销型的物流网站模板北京楼市最新消息
  • 宁波模版建站公司湘潭建设网站公司
  • 世界十大网站排名出炉最新军事新闻最新消息视频
  • 医疗电子的网站建设城市建设管理
  • win10建站wordpress商城网站结算页面怎么做
  • 电商网站模板引擎惠阳做网站公司
  • 如何在百度做网站推广中企动力企业邮箱手机邮箱
  • extjs做的网站开发公司宣传语
  • 长安做外贸网站关于阅读类网站的建设规划书
  • php网站建设思路方案阿里巴巴如何建设网站