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

网站建设公司组织架构濮阳市住房和城乡建设局网站

网站建设公司组织架构,濮阳市住房和城乡建设局网站,安徽省城乡与住房建设厅网站,德惠市建设局网站策略模式#xff08;Strategy Pattern#xff09;是一种行为设计模式#xff0c;它定义了一系列的算法#xff0c;并将每一个算法封装起来#xff0c;使它们可以互相替换#xff0c;让算法独立于使用它的客户端。 策略模式主要包含以下几个角色#xff1a; StrategyStrategy Pattern是一种行为设计模式它定义了一系列的算法并将每一个算法封装起来使它们可以互相替换让算法独立于使用它的客户端。 策略模式主要包含以下几个角色 Strategy策略这是一个接口通常用于定义所有支持的算法的公共接口。ConcreteStrategy具体策略这是实现了Strategy接口的具体算法类。每一个ConcreteStrategy都包装了一种具体的算法或行为。Context上下文这是一个使用策略对象的类。通常它包含一个策略对象并且可以定义一个接口来让策略访问它的数据。 策略模式的主要优点是 定义了一系列可重用的策略或算法并让客户端可以选择其中一个策略或算法也可以动态地切换策略。可以避免使用多重条件选择语句如if…else或switch…case。提高了算法的复用性和灵活性。 策略模式适用于以下场景 当一个类定义了多种行为并且这些行为在这个类的操作中以多个条件语句的形式出现时。当需要在不同的情况下使用不同的策略或者策略还可能在未来用其他方式来实现时。 以下是一个简单的C实现的策略模式Strategy Pattern示例 #include iostream// 抽象策略 class Strategy { public:virtual void algorithmInterface() 0;virtual ~Strategy() {} };// 具体策略A class ConcreteStrategyA : public Strategy { public:void algorithmInterface() override {std::cout Strategy As algorithm... std::endl;} };// 具体策略B class ConcreteStrategyB : public Strategy { public:void algorithmInterface() override {std::cout Strategy Bs algorithm... std::endl;} };// 上下文 class Context { public:Context(Strategy* strategy) : strategy_(strategy) {}~Context() { delete strategy_; }void contextInterface() {strategy_-algorithmInterface();}private:Strategy* strategy_; };int main() {Context* contextA new Context(new ConcreteStrategyA());contextA-contextInterface();Context* contextB new Context(new ConcreteStrategyB());contextB-contextInterface();delete contextA;delete contextB;return 0; }在这个例子中Strategy是抽象策略定义了algorithmInterface接口。ConcreteStrategyA和ConcreteStrategyB是具体策略实现了algorithmInterface接口。 Context是上下文它维护了一个对策略对象的引用这个引用可以是抽象策略类也可以是具体策略类。在contextInterface接口中上下文会调用策略的algorithmInterface接口。 通过这种方式我们可以动态地改变上下文的策略从而改变上下文的行为。 帮助理解 算法的定义和使用是分开的。 Context类中引用算法的抽象类。 客户端可以根据情况使用Context类 设置算法的具体类来覆盖算法的抽象类。
http://www.zqtcl.cn/news/544971/

相关文章:

  • 域名服务网站建设科技公司做棋子网站怎么提高浏览量
  • 用易语言做攻击网站软件下载彩页设计多少钱
  • 个人网站可以做淘宝推广手机版怎么用百度快照
  • 制作网站的公司叫什么外包软件
  • 廊坊企业建站模板邱县手机网站建设
  • 辽宁响应式网站费用建设银行官网app
  • 河北黄骅市网站建设网站外链的优化方法
  • 青岛城阳网站制作网站建设详细步骤
  • 先做网站再付款 怎么回答设计方案步骤
  • 汕头建站模板济南网站建设富库网络
  • 创业网站建设方案项目书手机app设计软件
  • 建设端午节网站的目的主题wordpress语法高亮插件
  • 做网站开发使用百分比的好处深圳建设网站公司简介
  • 行距网站上海专业网站建设机构
  • 闵行手机网站建设鲅鱼圈规划建设局网站
  • 合肥市城乡和建设网站网页设计与网站建设区别
  • 青岛网站建设企业建站北京网站模仿
  • 广州建设网站的公司简介湛江建设厅网站
  • 做网站不赚钱了网站关键词排行查询
  • 印度人通过什么网站做国际贸易三门峡做网站
  • 网站排名快速提升工具招远建网站首选公司
  • 手机网站格式商城网游开发公司
  • 手机怎样创建网站长春网站建设哪家专业
  • 做pop网站定制开发教程
  • 成都响应式网站建报告问题
  • 做设计找素材的+网站有哪些建立平台什么意思
  • 网站设置在哪里找宁德网站建设制作
  • logo网站设计素材品牌高端网站建设公司
  • 芙蓉区乡建设局网站郑州网站建设qicaizz
  • 网站建设的缺陷个人网站制作图片