设计模式
ooMelloo
☆人工智能/机器学习/深度学习工程师进击中
☆立志成为数学好编程好业务好的三好青年
☆人必有痴 而后有成
展开
-
C++设计模式之Facade模式(外观模式)
Facade模式(外观模式),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。 我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。打个比方,我们去吃饭,要了一份西红柿炒鸡蛋,我们只关心最后西红柿炒鸡蛋能够端上了,并不关心具体怎么做的,比如洗西红柿,切西红柿,拌开鸡蛋,炒西...原创 2018-07-19 15:01:17 · 363 阅读 · 0 评论 -
C++设计模式之Strategy(策略模式)
在介绍策略模式之前,我们先来看看多态性。多态性很好理解,策略模式就是在多态性的基础上进行修改。1.首先定义个父类,定义了所有的函数接口,但不去实现它。假设父类名为CStrategy,这里设计为抽象类#pragma onceclass CStrategy{public: CStrategy(void); virtual ~CStrategy(void); virtual v...原创 2018-07-19 15:16:44 · 216 阅读 · 0 评论 -
C++设计模式之Proxy模式(代理模式)
代理模式很容易理解,就是代替别人去做某一件事,打个比方,我们需要买水果,一般是去超市或者水果店买水果,很少有人去果园买水果,果园是生产水果的地方,但很少出售水果,在这里,水果店,超市就成了代理。首先定义一个抽象类,提供所有的函数接口。定义卖水果的抽象类,也就是接口,果园与超市都要继承这个类。#pragma onceclass CSellFruits//定义一个抽象类{publi...原创 2018-07-19 15:21:15 · 310 阅读 · 0 评论 -
C++设计模式之Singleton模式(单例模式)
单例模式在实际编程中可以说是用到的最广泛的设计模式,在实际编程的过程中,我们对某些资源往往要求只能有一个实例,打个比方,在做C++/C#开发时,每一个界面就是一个对象,对于这些窗体对象的操作,一般就是打开的窗体,对于窗体对象的操作就是单例模式的具体使用。单例模式其实就3点,(1)私有构造函数 (2)私有指向类的静态指针变量 (3)公有获取静态指针变量的函数1.定义单例类#pragma...原创 2018-07-19 15:34:18 · 333 阅读 · 0 评论 -
C++ 设计模式之Static Factory模式(简单工厂模式)
简单工厂模式并不是GOF提出的23种设计模式中的一种。工厂模式有一种非常形象的描述,建立对象的类就如一个工厂,而需要被建立的对象就是一个个产品。适用场合1.在程序中,需要创建的对象很多,导致对象的new操作多且杂时,需要使用简单工厂模式;2.由于对象的创建过程是我们不需要去关心的,而我们注重的是对象的实际操作,所以,我们需要分离对象的创建和操作两部分,如此,方便后期的程序扩展和维护。1...原创 2018-07-19 18:49:35 · 824 阅读 · 0 评论 -
C++设计模式之Template Method(模板方法模式)
模板方法模式总结起来就是灵活运用C++的多态性,灵活运用普通函数,虚函数,纯虚函数的组合,打个比方,每个人每天的生活都不一样,老师要上课,学生要学习,程序员要编程,但是每个人都需要吃饭与休息,这样我们就可以吧吃饭与休息抽出了,在父类里面强制实现,不同的部分放在子类里面具体实现。在这里为了方便,就把函数的实现写在类里面了,就没有单独写在cpp文件里面了。1.定义公共功能的实现,无论学生,老师...原创 2018-07-19 18:52:42 · 360 阅读 · 0 评论