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

衡阳网站如何选择校园文化设计公司

衡阳网站,如何选择校园文化设计公司,水果店营销策略都有哪些,做网站上是外部连接怎么改概念 模版模式是设计模式行为模式的一种,它的核心思想是定义一个算法骨架,将某些步骤提取到到子类中实现。解决当项目中出现多个处理分支,这几个处理分支有重复步骤的时实现代码的复用和扩展。在这种模式下不用修改逻辑结构,使用…

概念

模版模式是设计模式行为模式的一种,它的核心思想是定义一个算法骨架,将某些步骤提取到到子类中实现。解决当项目中出现多个处理分支,这几个处理分支有重复步骤的时实现代码的复用和扩展。在这种模式下不用修改逻辑结构,使用继承机制中的子类来实现算法不同部分的处理逻辑。

适用场景

1、固定流程,可变步骤:当只向客户端定义一个特定的算法步骤的时候,方便子类能对其进行扩展,同时保证算法结构不变,可使用此算法。

2、代码复用:当多个类的算法除了一些细微的不同,其他处理逻辑一样的时候,为了去除重复代码就可以使用此模式将不同之处在子类中实现。

创建方式

1、分析当前业务逻辑,梳理出算法中的重复逻辑和不同逻辑,并将其抽出到一个类(超类)中。在此类中创建一个函数实现算法的处理步骤。将需要继承在子类中代码函数设置为虚函数。

2、实现所有需要单独处理的子类,并继承超类。在子类中实现需要单独处理的算法逻辑(实现在超类的虚函数上)。

3、完成以上步骤之后在客户端创需要执行的算法类,并调用超类中的算法接口即可完成。

类关系图

在这里插入图片描述

示例代码

#include "MoBanMoShi.h"
int main()
{std::cout << "欢迎东哥来到设计模式的世界!\n";Manner1* manner1 = new Manner1();manner1->algorithm();cout << "==========================" << endl;Manner2* manner2 = new Manner2();manner2->algorithm();
}
#pragma once
#include <iostream>
#include <string>using namespace std;
//超类
class MainInterface
{
public:MainInterface() { }~MainInterface() {}void algorithm() {step1();step2();step3();step4();}void step1() {cout << "步骤1:通用步骤" << endl;}virtual void step2() {}virtual void step3() {}void step4() {cout << "步骤4:通用步骤" << endl;}};//具体算法步骤实现
class Manner1 : public MainInterface {
public:Manner1() {}~Manner1() {}void step2() {cout << "步骤2:Manner1 步骤" << endl;}void step3() {cout << "步骤3:Manner1 步骤" << endl;}
};	//具体算法步骤实现
class Manner2 : public MainInterface {
public:Manner2() {}~Manner2() {}void step2() {cout << "步骤2:Manner2 步骤" << endl;}void step3() {cout << "步骤3:Manner2 步骤" << endl;}
};
欢迎东哥来到设计模式的世界!
步骤1:通用步骤
步骤2:Manner1 步骤
步骤3:Manner1 步骤
步骤4:通用步骤
==========================
步骤1:通用步骤
步骤2:Manner2 步骤
步骤3:Manner2 步骤
步骤4:通用步骤
http://www.dtcms.com/wzjs/548431.html

相关文章:

  • 用手机做网站视频wordpress 分类做导航栏
  • 网站备案内容网站怎么做多级菜单
  • 百度网站推广申请甘肃省住房建设厅户网站
  • 凡科建设网站的步骤py做网站
  • 网站界面设计规范wordpress 找不到安装主题
  • 遵义网站建设公司招聘怎样注册个人网站
  • 湛江网站建设方案策划百度竞价排名事件
  • 网站一般在哪建设软文营销的缺点
  • 做网站程序网络推广方法有哪几种
  • 长沙网站设计工作室scala做网站
  • 开发免费app从seo角度谈网站建设
  • 宁波网站建设公司推荐易企网免费psd素材网
  • 河西做网站如何撰写网站建设方案书
  • 网站怎么做才有收录无锡网站关键词优化
  • 高端网站建设注意常州网页模板建站
  • 上海个人建站网站建设的注意事项
  • 中国城乡建设部网站双语网站模板下载
  • 河北通信网站建设广州营销型网站优化
  • 做企业网站的架构图阿里云 两个网站
  • 杭州网站建设网页制作怎样建自己的网站
  • 网站建设软文推广个人做民宿需要建立网站吗
  • 商丘网站建设流程企业案例网站生成
  • 网站建设中单页面win7 iis7 添加网站
  • 河北省建设银行网站首页优势网网站
  • 淮滨网站建设建设共享经济网站的可行性
  • 伊春市网站建设制造网站
  • 任丘 做网站江苏网站制作
  • 网站建设分几种编程语言表白二维码制作网站
  • 网站开发的3个阶段网站建设域名注册熊掌号
  • 做街舞网站的素材wordpress 文章 pin