鬼谷子com资料

本文主要介绍鬼谷子com资料 方法和在新技术下所面对的“挑战”,方便大家深入理解鬼谷子com资料 过程。本文也将分享鬼谷子com资料 所遇到的问题和应对策略,怎么解决怎么做的问题。
通过深入本文可以理解代码原理,进行代码文档的下载,也可以查看相应 Demo 部署效果。

外观模式

目录
  • 外观模式
    • 模式定义
    • 模式动机
    • UML类图
    • 源码实现
    • 优点
    • 缺点

模式定义

模板方法模式(Facade),定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

模式动机

  • 当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板方法模式来处理。
  • 既然用了继承,并且肯定这个继承有意义,就应该要成为子类的模板,所有重复嗲吗都应该要上升到父类去,而不是让每个子类都去重复。

UML类图

鬼谷子com

源码实现

  • abstractclass.h
class AbstractClass { public:     AbstractClass();     virtual ~AbstractClass();      void MethodA();     virtual int MethodB(int a = 0, int b = 0); };		 
  • abstractclass.cpp
#include "abstractclass.h" #include <iostream>  AbstractClass::AbstractClass() {  }  AbstractClass::~AbstractClass() {  }  void AbstractClass::MethodA() {     std::cout << __FUNCTION__ << " Call method b :" << this->MethodB(5, 4) << std::endl; }  int AbstractClass::MethodB(int a, int b) {     return a + b; } 
  • concreteclassa.h
#include "abstractclass.h"  class ConcreteClassA : public AbstractClass { public:     ConcreteClassA();     int MethodB(int a = 0, int b = 0) override; }; 
  • concreteclassa.cpp
#include "concreteclassa.h"  ConcreteClassA::ConcreteClassA() {  }  int ConcreteClassA::MethodB(int a, int b) {     return a * b; } 
  • concreteclassb.h
#include "concreteclassb.h"  ConcreteClassB::ConcreteClassB() {  }  int ConcreteClassB::MethodB(int a, int b) {     return a - b; } 
  • concreteclassb.cpp
#include "concreteclassb.h"  ConcreteClassB::ConcreteClassB() {  }  int ConcreteClassB::MethodB(int a, int b) {     return a - b; } 
  • main.cpp
#include <iostream> #include "concreteclassa.h" #include "concreteclassb.h"  using namespace std;  int main() {     ConcreteClassA* classA = new ConcreteClassA();     classA->MethodA();      ConcreteClassB* classB = new ConcreteClassB();     classB->MethodA();     return 0; } 
  • 运行结果

MethodA Call method b :20

MethodA Call method b :1

优点

模板方法模式的优点

  • 通过把不变的行为搬移到超类,去除子类中的重复代码来体现它的优势。
  • 提供了一个很好的代码复用的平台。
  • 当不变的和可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出现。我们通过模板方法模式把这些行为搬移到单一的地方,这样就帮助子类拜托重复的不变行为的纠缠。

缺点

模式的缺点

鬼谷子com资料部分资料来自网络,侵权毕设源码联系删除

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 鬼谷子com资料

提供最优质的资源集合

立即查看 了解详情