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

可以浏览国外网站南联做网站

可以浏览国外网站,南联做网站,此网站域名即将过期,wordpress知更鸟配置#x1f60f;★,:.☆(#xffe3;▽#xffe3;)/$:.★ #x1f60f; 这篇文章主要介绍设计模式#xff1a;观察者、策略、模板。 学其所用#xff0c;用其所学。——梁启超 欢迎来到我的博客#xff0c;一起学习#xff0c;共同进步。 喜欢的朋友可以关注一下#xf… ★,°:.☆(▽)/$:.°★ 这篇文章主要介绍设计模式观察者、策略、模板。 学其所用用其所学。——梁启超 欢迎来到我的博客一起学习共同进步。 喜欢的朋友可以关注一下下次更新不迷路 文章目录 :smirk:1. 观察者模式:blush:2. 策略模式:satisfied:3. 模板方法 1. 观察者模式 观察者模式的基本原理通过观察者模式可以实现对象之间的松耦合当一个对象的状态发生变化时所有依赖于它的对象都会得到通知并作出相应的响应。 #include iostream #include vector// 观察者基类 class Observer { public:virtual void update(int data) 0; };// 具体观察者类 A class ConcreteObserverA : public Observer { public:void update(int data) override {std::cout Concrete Observer A received data: data std::endl;} };// 具体观察者类 B class ConcreteObserverB : public Observer { public:void update(int data) override {std::cout Concrete Observer B received data: data std::endl;} };// 主题类 class Subject { private:int data;std::vectorObserver* observers;public:void attach(Observer* observer) {observers.push_back(observer);}void setData(int newData) {data newData;notify();}void notify() {for (Observer* observer : observers) {observer-update(data);}} };int main() {ConcreteObserverA observerA;ConcreteObserverB observerB;Subject subject;subject.attach(observerA);subject.attach(observerB);subject.setData(100);return 0; }2. 策略模式 策略模式是一种行为设计模式它允许在运行时选择算法的行为。定义一系列算法把它们封装起来并且使它们可以互相替换。策略模式可以使算法独立于使用它的客户端而变化。 #include iostream// 策略接口 class Strategy { public:virtual void execute() 0; };// 具体策略 A class ConcreteStrategyA : public Strategy { public:void execute() override {std::cout Executing Concrete Strategy A std::endl;} };// 具体策略 B class ConcreteStrategyB : public Strategy { public:void execute() override {std::cout Executing Concrete Strategy B std::endl;} };// 上下文类 class Context { private:Strategy* strategy;public:Context(Strategy* s) : strategy(s) {}void setStrategy(Strategy* s) {strategy s;}void executeStrategy() {strategy-execute();} };int main() {ConcreteStrategyA strategyA;ConcreteStrategyB strategyB;Context context(strategyA);context.executeStrategy();context.setStrategy(strategyB);context.executeStrategy();return 0; }3. 模板方法 模板方法模式Template Method Pattern是一种行为型设计模式它定义了一个操作中的算法的骨架而将一些步骤延迟到子类中。这样可以使子类在不改变算法结构的情况下重新定义某些步骤。 #include iostream// 抽象类定义模板方法 class AbstractClass { public:// 模板方法定义了算法的骨架void templateMethod() {step1();step2();step3();}virtual void step1() 0; // 子类必须实现的步骤1virtual void step2() 0; // 子类必须实现的步骤2void step3() {std::cout Abstract step3 std::endl;} };// 具体子类实现具体步骤 class ConcreteClassA : public AbstractClass { public:void step1() override {std::cout ConcreteClassA step1 std::endl;}void step2() override {std::cout ConcreteClassA step2 std::endl;} };class ConcreteClassB : public AbstractClass { public:void step1() override {std::cout ConcreteClassB step1 std::endl;}void step2() override {std::cout ConcreteClassB step2 std::endl;} };int main() {AbstractClass* a new ConcreteClassA();AbstractClass* b new ConcreteClassB();a-templateMethod();b-templateMethod();delete a;delete b;return 0; }通过模板方法模式我们可以在父类中定义一个算法的骨架而将具体实现延迟到子类中从而实现代码复用和扩展。 以上。
http://www.pierceye.com/news/613828/

相关文章:

  • 做网站资金来源是什么wordpress模版sns
  • 聊城wap网站建设如何分析网站竞争对手
  • 卓业网站建设flash 网站 收费
  • 两学一做 答题 网站自己做网站买东西
  • 深圳哪家公司做网站好购物网站开发问题域分析
  • 简单个人网站wordpress插件查询
  • 上海做网站搜索一下马来西亚的网站建设的竞争对手的分析
  • 建站优化易下拉系统163邮箱登录注册
  • c 做网站电子商务平台中搜索词拆解包括
  • 腾讯云10g数字盘做网站够么四川省建设人才网
  • 批量 网站标题中海园林建设有限公司网站
  • 鲜花网站数据库建设免费律师咨询
  • 团队网站建设哪家便宜制作公司网站流程
  • 青龙桥网站建设企业网页是什么
  • 上海网站建设备案号怎么恢复法律咨询网站开发
  • 烟台做网站价格动力网站建设
  • 北戴河网站建设墨刀制作网页教程
  • 成都网站设计开发做得好微信商城怎么开发
  • 江西省城乡建设培训网-官方网站上海建设集团有限公司
  • 凡科网站设计模板grimhelm wordpress
  • 自己做的网站不备案行吗建筑工程集团有限公司
  • 网站初期 权重怎么做彩票类网站开发
  • 南通网站定制公司服务器网站建设维护合同
  • 亳州做商标网站的公司免费的网站模板
  • 西南城乡建设部网站首页python3做网站教程
  • 网站首页设计欣赏个人电影网站建设
  • 导航网站建设怎么给网站图片加alt
  • 备案成功后怎么建设网站宠物喂养网页设计模板以及代码
  • 东莞哪家网站建设比较好wordpress更改语言设置
  • 如何找做网站的客户wordpress适合视频网站吗