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

上海知名的网站建设公司六安马启兵轮轩案

上海知名的网站建设公司,六安马启兵轮轩案,vi设计的作用及意义,聚美优品网站建设情况模板方法模式(Template Method Pattern) 是一种 行为型设计模式,用于定义 算法的骨架,并允许子类在不改变算法结构的情况下 重新定义 其中的某些步骤。 核心思想: 在 基类 中定义 算法的整体流程(骨架&am…

模板方法模式(Template Method Pattern) 是一种 行为型设计模式,用于定义 算法的骨架,并允许子类在不改变算法结构的情况下 重新定义 其中的某些步骤。

核心思想:

  • 基类 中定义 算法的整体流程(骨架),但具体的实现留给 子类
  • 基类 只负责调用流程,具体逻辑由 子类 来实现,符合 “开放封闭原则”(对扩展开放,对修改封闭)。

1. 结构

类图

+----------------------+
|   AbstractClass      |  (抽象类)
+----------------------+
| + templateMethod()   |  (定义算法的骨架)
| + step1()            |  (基本方法,可能有默认实现)
| + step2()            |  (抽象方法,交由子类实现)
+----------------------+▲│
+----------------------+
|   ConcreteClass      |  (具体子类)
+----------------------+
| + step2()           |  (实现父类的抽象方法)
+----------------------+

代码示例

#include <iostream>// 抽象类,定义算法骨架
class AbstractClass {
public:// Template Method,定义算法的框架void templateMethod() {step1();     // 固定实现step2();     // 交给子类实现step3();     // 固定实现}protected:void step1() {  // 提供默认实现std::cout << "Step 1: 基类的实现" << std::endl;}virtual void step2() = 0; // 纯虚函数,子类必须实现void step3() {  // 提供默认实现std::cout << "Step 3: 基类的实现" << std::endl;}
};// 具体子类,实现 step2
class ConcreteClass : public AbstractClass {
protected:void step2() override {std::cout << "Step 2: 子类的实现" << std::endl;}
};int main() {ConcreteClass obj;obj.templateMethod();  // 调用模板方法return 0;
}

2. 关键点

  1. templateMethod()基类 中定义算法的结构,并且不允许子类重写
  2. 部分方法(step1step3 在基类中有默认实现,子类可以直接继承。
  3. 部分方法(step2virtual(纯虚函数),子类必须实现自己的逻辑。

3. 适用场景

场景原因
多个类的算法流程相同,但部分步骤不同避免重复代码,提高复用性
算法的某些步骤可能会变化,但主流程不变通过子类扩展,而不影响基类
需要控制子类扩展的范围只允许子类修改某些特定步骤

文章转载自:

http://W61XnvL3.nyrws.cn
http://n5mjZn4q.nyrws.cn
http://n0yD6j5H.nyrws.cn
http://BlMBBeXt.nyrws.cn
http://HrI9mJlD.nyrws.cn
http://vMYtEZgI.nyrws.cn
http://yS7Usth1.nyrws.cn
http://hhWMYxkr.nyrws.cn
http://wcOY3TwB.nyrws.cn
http://D1OAbgQB.nyrws.cn
http://nzt5GoRN.nyrws.cn
http://OZdQlfuQ.nyrws.cn
http://wjSiRzBZ.nyrws.cn
http://58dxgciH.nyrws.cn
http://f2FeXv3Y.nyrws.cn
http://QnsLkCIT.nyrws.cn
http://6jmGUcpJ.nyrws.cn
http://L7mU51Gc.nyrws.cn
http://nwopAKcx.nyrws.cn
http://RBmIfH8F.nyrws.cn
http://wKy8RNbA.nyrws.cn
http://MX5QcKtf.nyrws.cn
http://qGsb1kxE.nyrws.cn
http://STWlhkhl.nyrws.cn
http://A0ro2ZLm.nyrws.cn
http://PTjdgM7F.nyrws.cn
http://Y9q44p93.nyrws.cn
http://i8csAtFy.nyrws.cn
http://yqbjVzSj.nyrws.cn
http://EjAbmTAp.nyrws.cn
http://www.dtcms.com/wzjs/709897.html

相关文章:

  • 做包装盒子的厂家哪个网站北京学校线上教学
  • 接网站建设_网站设计企业网站建设管理制度
  • 外贸网站建设公司平台网站的导入流量怎么做
  • 湛江网站建设方案策划网站大学报名官网入口
  • 网站备案要营业执照原件吗手机网站开发+图库类
  • 狗贩子怎么做网站卖狗融资平台公司是什么意思
  • 集团网站建设网络公司广告公司网站设计策划书
  • dw 怎么做钓鱼网站这么做国外网站的国内镜像站
  • 网站地图做计划任务济宁市建设工程质量监督站网站
  • 网站规划建设与管理维护大作业缪斯国际设计董事长
  • 满山红网站建设公司沧州自适应网站建设
  • 自己优化网站隐私浏览器
  • php 实现网站扫码登录网站运营优化
  • 东昌府区网站建设公司海口网站设计
  • 网站建设销售实训报告酒店软装设计公司官网
  • 大型电商网站开发建网站的目的
  • 全国建筑资质查询网站长沙seo优化推广
  • 面包屑 网站做本地网站赚钱
  • 网站有哪些内容网站子域名怎么设置
  • 陕西通达工程建设有限公司网站好的用户体验网站
  • 上海杨浦区建设网站公众号开发免费
  • 做网站需要多少钱协会宣传网站开发方案
  • 网站建设最基础的是什么意思网站后台管理系统php
  • 网站域名收费标准网站提交搜索引擎后出现问题
  • 一流的铁岭做网站公司美发网站模板
  • 网站建设众包平台男生技能培训班有哪些
  • 网站宣传的劣势推广链接生成
  • 文字网站和图片网站哪个难做绍兴网站制作方案定制
  • 网站制作需要多少钱新闻网站做长尾词好还是单个词好
  • 毕节城乡建设局网站全国企业信息查询官网系统