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

vs做网站优对 网站开发

vs做网站,优对 网站开发,企业网站托管费用,上海app搭建策略模式是一种行为设计模式#xff0c;它定义了一系列算法#xff0c;将每个算法封装成一个对象#xff0c;并使它们可以互换。策略模式使得算法的变化可以独立于使用算法的客户端。在策略模式中#xff0c;有三个核心角色#xff1a;策略接口#xff08;Strategy#…        策略模式是一种行为设计模式它定义了一系列算法将每个算法封装成一个对象并使它们可以互换。策略模式使得算法的变化可以独立于使用算法的客户端。在策略模式中有三个核心角色策略接口Strategy、具体策略ConcreteStrategy、以及上下文Context。① 策略接口Strategy定义了一个算法族的接口。② 具体策略ConcreteStrategy实现了策略接口封装了具体的算法实现。③ 上下文Context维护一个对策略对象的引用负责将客户端请求委托给具体的策略对象。策略模式的核心思想是将算法的定义与使用分离使得算法可以独立于客户端进行变化、扩展和替换。 1、场景设计 实现场景设计A、B两种策略同一个客户端可以根据需要从两种策略中选择使用。 2、C实现 Strategy 是策略接口定义了一个纯虚的 execute() 方法。ConcreteStrategyA 和 ConcreteStrategyB 是具体策略分别实现了 execute() 方法来执行具体的算法。Context 是上下文持有一个策略对象的指针并且负责将客户端的请求委托给具体的策略对象。在 main() 函数中我们创建了两个具体策略对象然后通过 Context 对象执行了这些策略。  #include iostream// 策略接口 class Strategy {public:virtual void execute() 0; };// 具体策略A class ConcreteStrategyA : public Strategy {public:void execute() override {std::cout Executing strategy A std::endl;} };// 具体策略B class ConcreteStrategyB : public Strategy {public:void execute() override {std::cout Executing strategy B std::endl;} };// 上下文 class Context {private:Strategy *strategy;public:Context(Strategy *strat) : strategy(strat) {}void setStrategy(Strategy *strat) {strategy strat;}void executeStrategy() {if (strategy) {strategy-execute();}} };int main() {ConcreteStrategyA strategyA;ConcreteStrategyB strategyB;Context context(strategyA);context.executeStrategy();context.setStrategy(strategyB);context.executeStrategy();return 0; }3、Java实现 Strategy 是策略接口定义了一个执行算法的方法 execute()。ConcreteStrategyA 和 ConcreteStrategyB 是具体策略分别实现了 execute() 方法来执行具体的算法。Context 是上下文维护一个对策略对象的引用并且负责将客户端的请求委托给具体的策略对象。在 main() 方法中我们创建了上下文对象并分别设置了两种不同的策略然后执行策略。  package behavioralpattern.strategy;public class StrategyDemo {// 策略接口interface Strategy {void execute();}// 具体策略Astatic class ConcreteStrategyA implements Strategy {Overridepublic void execute() {System.out.println(Executing strategy A);}}// 具体策略Bstatic class ConcreteStrategyB implements Strategy {Overridepublic void execute() {System.out.println(Executing strategy B);}}// 上下文static class Context {private Strategy strategy;public void setStrategy(Strategy strategy) {this.strategy strategy;}public void executeStrategy() {strategy.execute();}}public static void main(String[] args) {Context context new Context();Strategy strategyA new ConcreteStrategyA();Strategy strategyB new ConcreteStrategyB();context.setStrategy(strategyA);context.executeStrategy();context.setStrategy(strategyB);context.executeStrategy();} }
http://www.tj-hxxt.cn/news/229757.html

相关文章:

  • 找人做仿网站网站建设管理维护责任书
  • 门户网站 管理系统个人网站建什么类型的
  • 阿里云的网站接入方式视频网站的建设
  • 代做动画毕业设计的网站营销网站的方法
  • 网站设计与建设的公司学网页设计哪个培训学校好
  • wordpress可以做企业网站罗湖商城网站建设找哪家公司好
  • 一个网站的建设步骤是wordpress五列
  • 电子商务的功能有哪些安卓手机性能优化软件
  • paypal网站集成wordpress第一张缩略图
  • 宠物网站建设方案书淘宝网的公司注册名称
  • pc网站开发工具荣成网站开发
  • 网站建设价格是多少app的设计与开发
  • 免费建站自助建站网站建设教程网站建设教程woshop商城源码
  • j2ee大型网站开发框架屏山县龙华镇中心村建设招标网站
  • 简单电商网站模板下载网站开发多少工资
  • 做哪个网站最简单英语写作网站
  • 网站安全评估报告wordpress 位置地图
  • 撰写网站建设策划书范文网站面包屑怎么做
  • 做cad室内平面图的家具素材网站Wordpress如何调用搜索框
  • 建设网站的方案江苏外贸网站建设推广
  • 2018做网站前景如何网站开发怎么让别人看到
  • 安徽富通建设有限公司网站百度账号管家
  • 农产品网站建设主要工作学做网站用谁的书
  • 广州站在哪个区aliyun oss wordpress
  • 搭建视频网站WordPress占资源多
  • 常宁网站app开发 网站建设
  • 优秀网站下载wordpress更换主题出错
  • 移动app做的好的网站wordpress php 模板修改
  • 怎么制作购物网站建设合同施工合同示范文本
  • 网站开发技术应用领域2024的新闻有哪些