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

杭州专业网站建设济源做网站的好公司

杭州专业网站建设,济源做网站的好公司,做网站添加mp3,设计品牌有哪些策略模式#xff08;Strategy Pattern#xff09;是一种行为型设计模式#xff0c;它定义了一系列算法#xff0c;将每个算法封装起来#xff0c;使它们可以相互替换#xff0c;让客户端代码和算法的具体实现解耦。这样#xff0c;客户端可以根据不同的需求选择不同的算…策略模式Strategy Pattern是一种行为型设计模式它定义了一系列算法将每个算法封装起来使它们可以相互替换让客户端代码和算法的具体实现解耦。这样客户端可以根据不同的需求选择不同的算法而无需修改原有的代码。 C 实现策略模式 #include stdio.h #include stdlib.h// 定义策略接口 typedef struct {void (*execute)(void); } Strategy;// 具体策略1 void strategy1_execute(void) {printf(Executing Strategy 1\n); }// 具体策略2 void strategy2_execute(void) {printf(Executing Strategy 2\n); }// 客户端代码使用策略接口 void client_code(Strategy* strategy) {strategy-execute(); }int main() {// 创建策略对象Strategy* strategy1 (Strategy*)malloc(sizeof(Strategy));strategy1-execute strategy1_execute;Strategy* strategy2 (Strategy*)malloc(sizeof(Strategy));strategy2-execute strategy2_execute;// 使用不同的策略client_code(strategy1);client_code(strategy2);// 释放内存free(strategy1);free(strategy2);return 0; } C 实现策略模式 #include iostream// 定义策略接口 class Strategy { public:virtual void execute() 0;virtual ~Strategy() {} };// 具体策略1 class Strategy1 : public Strategy { public:void execute() override {std::cout Executing Strategy 1 std::endl;} };// 具体策略2 class Strategy2 : public Strategy { public:void execute() override {std::cout Executing Strategy 2 std::endl;} };// 客户端代码使用策略接口 void client_code(Strategy* strategy) {strategy-execute(); }int main() {// 使用不同的策略Strategy1 strategy1;Strategy2 strategy2;client_code(strategy1);client_code(strategy2);return 0; } 策略模式的优缺点 优点 灵活性增强策略模式使得算法独立于客户端使用而变化。可以在运行时动态选择算法灵活应对不同的需求和场景。 代码重用各个策略可以被多个客户端共享避免了代码重复。 扩展性良好当需要添加新的算法时只需增加新的策略类而不需要修改已有的代码。 易于测试由于策略类封装了具体的算法因此易于进行单元测试。 缺点 增加类数量每个具体策略都需要一个对应的类如果策略较多可能会增加类的数量增加代码维护的复杂性。 客户端必须了解策略客户端代码必须了解所有的策略以便进行选择如果策略较多可能会增加客户端代码的复杂性。 总体来说策略模式适用于需要在运行时动态选择算法并且希望算法和客户端代码解耦的情况。对于简单的情况可能没有必要使用策略模式但在复杂的场景下它可以带来更好的可维护性和可扩展性。
http://www.w-s-a.com/news/150561/

相关文章:

  • 网站后台文章删了 怎么前台还有一级做爰片软件网站
  • 辽宁省建设注册中心网站wordpress 博客插件
  • 做电商看的网站有哪些网站建设需求策划书
  • 关于网站建设交易流程的描述一句话哪些网站用户体验好
  • 男女做暖暖的网站大全深圳平台网站建设外包
  • 凯里展示型网站设计抖音代运营收费详细价格
  • 外包网站会自己做原型吗网站制作怎样盈利
  • 为什么在百度搜不到我的网站电商网站开发过程
  • 什么是网站反链网页设计页面链接
  • 佛山企业网站制作韩国seocaso
  • 微信公司网站vue做社区网站
  • 蒙阴网站优化五核网站建设
  • 企业微商城网站建设wordpress新闻是哪个表
  • 重庆网站开发培训机构电商网站创办过程
  • 企业建网站得多少钱长沙财优化公司
  • 网站开发api平台扒完网站代码之后怎么做模板
  • PHP网站建设选择哪家好动画设计师月薪多少
  • 网站如何做市场推广网站开发主要步骤
  • 浏览器正能量网站网页文章导入wordpress
  • 江西中国建设银行网站首页永久免费自助建网站
  • 创建自己网站的步骤吸引人的微信软文
  • 网站建设与网页设计论述题软件开发公司在哪里
  • 二级网站建设方案模板亚马逊网站建设案例
  • 网站开发兼职团队门户网站如何制作
  • 高州市网站建设开发区招聘信息
  • 上海专业网站制作设计公司企业邮箱怎样注册
  • 网站建设在商标第几类网站建设 设计创意
  • 做一网站APP多少钱重庆中色十二冶金建设有限公司网站
  • 网上做效果图网站有哪些软件徐州泉山区建设局网站
  • 凯里网站制作网站篡改搜索引擎js