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

介绍家乡的网站设计策划书合肥软件开发公司哪家好

介绍家乡的网站设计策划书,合肥软件开发公司哪家好,中小微企业和个体工商户,网站建设费用如何做账务处理目录 1、状态模式#xff08;State Pattern#xff09;含义 2、状态模式的UML图学习 3、状态模式的应用场景 4、状态模式的优缺点 #xff08;1#xff09;优点 #xff08;2#xff09;缺点 5、C实现状态模式的实例 1、状态模式#xff08;State Pattern#x…目录 1、状态模式State Pattern含义 2、状态模式的UML图学习 3、状态模式的应用场景 4、状态模式的优缺点 1优点 2缺点 5、C实现状态模式的实例 1、状态模式State Pattern含义 状态模式State当一个对象的内在状态改变时允许改变其行为这个对象看起来像是改变了其类。【DP】 ”状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中可以把复杂的判断逻辑简化。当然如果这个状态判断很简单那就没必要用‘状态模式’了 。“ 2、状态模式的UML图学习 状态模式主要涉及以下几个角色 1环境Context环境类是拥有状态的对象它维护一个对抽象状态类的引用通过该引用来切换当前状态。环境类在其操作中会委托给当前状态对象进行处理。 2抽象状态State抽象状态类定义了一个接口用于封装环境对象的特定状态所对应的行为。 3具体状态Concrete State具体状态类实现了抽象状态类定义的接口并根据具体情况进行相应的处理和状态转换。 通过这些角色的协作状态模式可以实现对象的状态与行为之间的解耦使得状态的变化不会影响到客户端代码同时也方便了状态的扩展和维护。 3、状态模式的应用场景 1一个对象的行为取决于它的状态并且需要在运行时根据状态改变行为时可以考虑使用状态模式。 2当一个对象的行为在不同的状态下有不同的实现且这些状态可以动态切换时可以考虑使用状态模式。 3当需要消除大量的条件判断语句并将其转换为状态类之间的关联时可以考虑使用状态模式。 4、状态模式的优缺点 1优点 1将状态转换逻辑封装在具体的状态类中使得状态变化对于客户端来说是透明的客户端无需关心状态的切换细节。 2将大量的条件判断语句转换为状态类之间的关联使得代码更加清晰、可读性更高。 3符合开闭原则当需要增加新的状态时只需要添加新的状态类而不需要修改现有的代码。 简而言之是将与特定状态相关的行为局部化并且将不同状态的行为分割开来【DP】 2缺点 1状态模式会引入多个状态类增加了系统的复杂性。  2如果状态转换比较复杂可能会导致状态类之间的相互调用增多影响系统的性能。 5、C实现状态模式的实例 #include iostream// 状态接口 class State { public:virtual void handle() 0; };// 具体状态类A class ConcreteStateA : public State { public:void handle() override {std::cout Handle by ConcreteStateA std::endl;} };// 具体状态类B class ConcreteStateB : public State { public:void handle() override {std::cout Handle by ConcreteStateB std::endl;} };// 上下文类 class Context { private:State* state;public:Context(State* initialState) : state(initialState) {}void setState(State* newState) {state newState;}void request() {state-handle();} };int main() {// 创建状态对象State* stateA new ConcreteStateA();State* stateB new ConcreteStateB();// 创建上下文对象并设置初始状态Context context(stateA);// 请求处理context.request(); // 输出: Handle by ConcreteStateA// 切换状态context.setState(stateB);context.request(); // 输出: Handle by ConcreteStateB// 释放资源delete stateA;delete stateB;return 0; }上述示例中定义了一个状态接口State具体状态类ConcreteStateA和ConcreteStateB实现了该接口。上下文类Context持有一个状态对象并根据当前状态调用相应的行为。通过切换状态可以改变上下文对象的行为。
http://www.zqtcl.cn/news/558014/

相关文章:

  • 毕设网站建设论文小程序开发模板
  • 广州网页模板建站电商平台谈双11变冷
  • 用.cc做网站官网可以吗2003系统网站建设
  • 创意网站推荐新手网站
  • 网站编程好学吗免费下载app并安装
  • 广州专业网站制作设计网站建设分几种
  • 有没有专业做艺术品的网站长沙人才市场招聘信息
  • 河池做网站通过邮箱查注册网站
  • 金融互助网站开发网上免费设计效果图
  • 网站开发 例子施工企业质量管理体系应按照我国
  • 义乌建设网站网络营销推广有哪些方法
  • 宿迁建设局网站a类证查询怎么自己搭建梯子
  • 成都网站品牌设计策划网络推广如何收费
  • html5 js全屏滑动网站源码wordpress 插件 破解
  • 做电影网站怎么批量去水印微信用什么小程序可以提取文字
  • 网站开发费用周期域名网站建设方案书模板
  • 织梦网站问题关于政务网站建设工作情况的总结
  • wordpress 拿站网站搭建后如何使用
  • 网站设计应遵循的原则wordpress免费空间
  • 建设网站的特色企业内部培训app软件
  • jsp网站缓存在哪wordpress设置静态页面
  • 百度做网站电话多少东台网页定制
  • 暖通设计网站推荐百度在西安的公司叫什么
  • 天津响应式网站设计网站建设的任务
  • 多语言网站 自助江门建设局网站
  • 宜兴做阿里巴巴网站常州外贸网站设计
  • 长沙米拓建站wordpress最底部版权
  • 小企业网站建设费用一年wordpress 怎么登陆
  • 阿里云建站可不可以备案wordpress评论滑动插件
  • 网站建设教程出售用苏州久远网络现在的网络营销方式