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

大理住房和城乡建设局网站取消网站备案制度

大理住房和城乡建设局网站,取消网站备案制度,武建安装公司新闻,wordpress换域名后篇十八#xff1a;状态模式#xff1a;状态驱动的行为 开始本篇文章之前先推荐一个好用的学习工具#xff0c;AIRIght#xff0c;借助于AI助手工具#xff0c;学习事半功倍。欢迎访问#xff1a;http://airight.fun/。 另外有2本不错的关于设计模式的资料状态模式状态驱动的行为 开始本篇文章之前先推荐一个好用的学习工具AIRIght借助于AI助手工具学习事半功倍。欢迎访问http://airight.fun/。 另外有2本不错的关于设计模式的资料分享出来与大家学习参考。 链接https://pan.baidu.com/s/1RmhQF_o1CdK8U7s5KeILog?pwdxc6d 提取码xc6d 设计模式是软件开发中的重要知识状态模式State Pattern是一种行为型设计模式用于通过将对象的状态抽象为独立的类并根据状态的变化来改变对象的行为。本文将介绍状态模式的原理和优势并提供C实现状态模式的示例代码。 1. 状态模式的原理 状态模式是一种通过将对象的状态抽象为独立的类来实现状态驱动的行为的设计模式。它包含以下核心角色 环境Context持有状态对象并将行为委托给当前状态对象处理。抽象状态Abstract State定义了状态的接口用于处理环境的请求并可能导致状态的转换。具体状态Concrete State实现了抽象状态的接口处理环境的请求并可能改变环境的状态。 状态模式的关键是通过将状态抽象为独立的类来分离状态行为的实现从而使得环境类的代码更加简洁和可维护。 2. 状态模式的优势 状态模式具有以下优势 状态驱动的行为状态模式能够根据对象的状态来改变其行为从而使得对象的行为与其状态相对应提高了代码的清晰度和可读性。状态复用状态模式将状态抽象为独立的类使得不同的对象可以共享相同的状态从而提高了状态的复用性。状态扩展通过添加新的状态类可以方便地扩展对象的状态和行为而不需要修改环境类的代码符合开闭原则。 3. 在C中应用状态模式 以下是状态模式的C示例代码 a. 定义抽象状态类 // State.h class Context; // 前向声明class State { public:virtual ~State() {}virtual void handle(Context* context) 0; };b. 定义具体状态类 // ConcreteStateA.h #include iostream #include State.h #include Context.hclass ConcreteStateA : public State { public:void handle(Context* context) override {std::cout ConcreteStateA handles the request. std::endl;context-setState(new ConcreteStateB());} };// ConcreteStateB.h #include iostream #include State.h #include Context.hclass ConcreteStateB : public State { public:void handle(Context* context) override {std::cout ConcreteStateB handles the request. std::endl;context-setState(new ConcreteStateA());} };c. 定义环境类 // Context.h #include State.hclass Context { public:Context(State* initialState) : state_(initialState) {}void setState(State* newState) {delete state_; // 释放旧状态state_ newState;}void request() {state_-handle(this);}private:State* state_; };d. 客户端使用 // main.cpp #include ConcreteStateA.h #include Context.hint main() {State* initialState new ConcreteStateA();Context context(initialState);// 状态A处理请求然后转换到状态Bcontext.request();// 状态B处理请求然后转换到状态Acontext.request();return 0; }4. 状态模式的代码解析 在状态模式中通过将状态抽象为独立的类将状态的行为和状态的转换与环境类解耦使得环境类的代码更加简洁和可维护。通过切换不同的状态对象可以改变对象的行为实现状态驱动的行为。 5. 最佳实践 在使用状态模式时需要注意以下几点 合理设计状态类状态类需要封装状态的行为并负责处理状态的转换逻辑从而保持状态类的简洁和一致性。状态对象生命周期管理在环境类中需要负责管理状态对象的生命周期确保在切换状态时正确释放旧状态。 6. 总结 状态模式是一种重要的设计模式它通过将状态抽象为独立的类来实现状态驱动的行为。在C中我们可以通过抽象状态类和具体状态类来实现状态模式。状态模式在状态驱动的应用场景中非常有用能够提高代码的清晰度和可维护性。 希望本文能够帮助您理解状态模式的原理和优势并通过C的示例代码演示了如何在C中应用状态模式来实现状态驱动的行为。设计模式是软件开发中的重要知识掌握不同的设计模式有助于提高代码质量、可维护性和可扩展性。 参考文献 Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional.C Core Guidelines: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines 感谢您的阅读欢迎一起探讨共同进步推荐大家使用学习助手AIRight来解答学习过程中的问题访问链接http://airight.fun/
http://www.hkea.cn/news/14425842/

相关文章:

  • 网站能调用一些字体h5平台官网
  • 菏泽官方网站做360手机网站优化快
  • 设计模板素材网站医疗软件网站建设公司排名
  • 尚品本色木门网站是哪个公司做的wordpress 音乐主题
  • 绍兴网站制作方案在线观看免费网站网址
  • 网站建设硬件设计方案做网站的公司
  • 宁波市节约型机关建设考试网站澄迈网站建设
  • 中国科技成就作文800字长沙百度推广排名优化
  • 公司的帐如何做网站wordpress 源码下载主题
  • 哈密市建设局网站深圳短视频代运营公司
  • 平台网站建设方案标书seo高效优化
  • 制作网站常用软件wordpress impreza
  • 全球网站建设服务商如何打死网站
  • 怎么做网站内的搜索dedecms安装
  • 矿区网站建设百度的网址
  • 那家做网站好国内4大现货交易所
  • 个人特种证件查询网站wordpress google fonts 360
  • 天津做网站的公司排行网页设计如何报价
  • 搜狐做网站广东网站建设包括什么软件
  • 网络公司做的网站被告图片侵权网站建设备案优化
  • 网站建设的经济可行性分析免费公司网站如何建立设计
  • 设计公司网站广告宣传方式有哪些
  • 广州建设网站是什么关系建设银行优缺点
  • 高端网站建设创新百度竞价有点击无转化
  • appcan 手机网站开发网站开发合同 黑客攻击条款
  • c 网站开发教程 购物网站烟台h5网站制作
  • 网站建设服务标准化学做网站多久
  • 网站建站的技术解决方案杭州it公司排名
  • 威海网站建设怎么样网站建设接单技巧
  • 网站建设企业官网源码抖音代运营协议合同范本免费下载