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

天水市建设局企业注册网站杭州工商注册

天水市建设局企业注册网站,杭州工商注册,美容医疗 网站建设,电商网站建设技术可行性分析策略模式 前言 先了解一下设计模式的几种类似#xff1a; 行为型设计模式#xff08;Behavioral Design Pattern#xff09;是指一组设计模式#xff0c;它们关注的是对象之间的通信和协作。行为型设计模式描述了对象之间的职责分配和算法的封装#xff0c;以及如何在运…策略模式 前言 先了解一下设计模式的几种类似 行为型设计模式Behavioral Design Pattern是指一组设计模式它们关注的是对象之间的通信和协作。行为型设计模式描述了对象之间的职责分配和算法的封装以及如何在运行时动态改变对象的行为。它们的目的是提高系统的灵活性和可复用性使系统更易于扩展和维护。行为型设计模式通常包括以下几种 模板方法模式Template Method Pattern策略模式Strategy Pattern观察者模式Observer Pattern迭代器模式Iterator Pattern责任链模式Chain of Responsibility Pattern命令模式Command Pattern访问者模式Visitor Pattern备忘录模式Memento Pattern状态模式State Pattern中介者模式Mediator Pattern解释器模式Interpreter Pattern 创建型设计模式主要关注对象的创建过程包括将对象的创建过程抽象化、封装和解耦等。常见的创建型设计模式包括工厂方法模式、抽象工厂模式、单例模式、建造者模式和原型模式。结构型设计模式主要关注对象的组合方式包括对象之间的组合方式、类之间的组合方式等。常见的结构型设计模式包括适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式和代理模式。 策略模式是一种行为型设计模式它定义了一系列算法将每个算法都封装起来并且使它们之间可以互换。策略模式让算法的变化独立于使用算法的客户。 正文 策略模式的优点包括 可以方便地增加新的算法因为每个算法都被封装到了自己的类中新增加一个算法只需要添加一个新的类就可以了。可以方便地切换算法因为算法之间被解耦所以可以方便地切换算法。可以方便地扩展算法因为每个算法都被封装到了自己的类中所以可以方便地扩展算法。可以减少代码重复因为算法之间可以共享代码。可以方便地测试算法因为每个算法都被封装到了自己的类中所以可以方便地测试算法。 总之策略模式可以提高代码的灵活性、可扩展性和可维护性。它的应用范围很广可以用于各种算法的封装和应用。 #include iostream #include vector// 抽象策略类 class Strategy { public:virtual void execute() 0; };// 具体策略类A class ConcreteStrategyA : public Strategy { public:virtual void execute() {std::cout 执行策略A std::endl;} };// 具体策略类B class ConcreteStrategyB : public Strategy { public:virtual void execute() {std::cout 执行策略B std::endl;} };// 上下文类 class Context { public:void setStrategy(Strategy* strategy) {m_strategy strategy;}void executeStrategy() {if (m_strategy ! nullptr) {m_strategy-execute();}}private:Strategy* m_strategy; };int main() {// 创建策略对象ConcreteStrategyA strategyA;ConcreteStrategyB strategyB;// 创建上下文对象Context context;// 执行策略Acontext.setStrategy(strategyA);context.executeStrategy();// 执行策略Bcontext.setStrategy(strategyB);context.executeStrategy();return 0; }在上面的代码中我们定义了一个抽象策略类 Strategy以及两个具体的策略类 ConcreteStrategyA 和 ConcreteStrategyB。这些策略类都实现了 execute 方法用于执行具体的策略。 我们还定义了一个上下文类 Context它包含一个成员变量 m_strategy用于保存当前使用的策略对象。Context 类有两个方法setStrategy 和 executeStrategy分别用于设置当前使用的策略对象和执行策略。 在 main 函数中我们创建了两个具体的策略对象 strategyA 和 strategyB以及一个上下文对象 context。我们首先将上下文对象的策略设置为 strategyA然后调用 executeStrategy 方法执行策略。接着我们将上下文对象的策略设置为 strategyB再次执行策略。 这个示例中策略模式的核心思想就是将具体的算法实现封装到不同的策略类中通过上下文对象来控制使用哪个策略。这样我们就可以在运行时动态地切换不同的策略从而实现灵活的算法组合。
http://www.hkea.cn/news/14444169/

相关文章:

  • 赣州市住房和城乡建设局网站肇庆城乡建设网站
  • 上海百姓网免费发布信息网seo整站优化多少钱
  • 网站文本编辑器泉州建设系统培训中心网站
  • 物流网站怎么做的婚纱摄影照片
  • 京东如何进行网站建设专业建设总结
  • 网站开发中英文版如何写中国建设银行怎么查询余额
  • 网站服务内容网站建设建设官网兴田德润怎么联系
  • 公司网站建设费计入科目青岛房产信息网
  • 网站开发职业访谈做旅游网站当地人服务赚钱吗
  • 西宁网站推广网站后台程序开发
  • 网站推广优化淄博公司广州白云发布通告
  • 淄博网站优化公司开发定制制作app
  • 织梦网站每天被挂马贵州省住房和建设厅网网站首页
  • 高端定制网站设计公司网站如何定位
  • 长沙网站公司自媒体运营从入门到精通
  • 如何做网站结构优化艺术设计与制作
  • 宁波制作网站软件蛋糕网站源码
  • 自建网站外贸怎么做深圳专业的网站建设
  • 医院网站建设策划书仿站小工具下载
  • 怎么做 废旧回收网站做的网站怎么放到域名
  • 电子商务网站建设与管理教材企业在建设银行网站怎么发工资
  • 精品课程网站建设现状wordpress 维护页面
  • 兰州网站建设招聘最新网站建设营销模板
  • 标志设计欣赏网站wordpress文章打开慢
  • 网站建设定金做什么会计分录网站推广的优势
  • 哪些网站是响应式有哪些网站做自建房设计
  • 信誉好的东莞网站建设会员管理系统功能介绍
  • 宝应123网站建设网wordpress图片分离
  • 博客网站需要的功能广州招投标交易中心
  • 上海开发公司企业seo关键字优化