设计模式
waxtear
这个作者很懒,什么都没留下…
展开
-
c++解释器模式
本文主要运用解释器来解析数学表达式。其中还用到了生产者模式,代理模式,策略模式,状态模式,模板方法,单例模式。原创 2020-02-21 20:53:23 · 561 阅读 · 0 评论 -
c++访问者模式
访问者模式是为了给固定接口增加新的接口。访问者模式有一个巨大的缺陷就是需要增加接口的那个类不能再派生新的类。`c++`现在有了仿函数(重载括号)来替换这种模式,更加灵活。原创 2020-02-11 20:29:43 · 328 阅读 · 0 评论 -
c++责任链模式
责任链模式是有一类对象(继承自`Handler`可以处理另一类对象(继承自`event`),但这些`event`具体由谁来处理需要经过一些具体算法来确定。责任链就是实现了一个链表,现在数据结构很成熟了,这种模式完全可以用list来代替。原创 2020-02-11 19:13:47 · 463 阅读 · 3 评论 -
c++迭代器模式
迭代器只要是为所有的数据接口统一遍历的方式。c++的stl中广泛应用,但是stl的实现方式是使用泛型编程,实现编译时多态,效率更高。其他很多语言应用这种方式还是很多的。下面方式是面向对象的手法实现迭代器模式。原创 2020-02-11 17:04:39 · 492 阅读 · 0 评论 -
c++组合模式
组合模式主要是将所有类型元素都抽象成组件,有的组件是叶子节点(不能再有字节点),有的节点是分支节点(可以有孩子节点)。这样的递归的数据结构很方便管理。原创 2020-02-11 15:15:59 · 209 阅读 · 0 评论 -
c++享元模式
享元模式是用来节省内存空间,提升效率的模式。只有当对象相当之多时,才需要使用。原创 2020-02-10 15:43:48 · 288 阅读 · 0 评论 -
c++中介者模式
中介者模式:有很多相互依赖的类,将他们的依赖关系集中到中介者中。中介者抽象的是它们之间的依赖关系,这种依赖关系并不会消失,只是集中到了中介者身上。比如:很多同事一起办公,但是工作需要,经常要相互沟通,而我们直接找到对方代价很大,而通过发送微信转达对方是很快的,微信就扮演者中介者。中介者和外观模式,两者相同在于都是很多类相互协作,然而前者强调内部之间的沟通,后者强掉它们与外部沟通。原创 2020-02-10 13:05:05 · 455 阅读 · 0 评论 -
c++外观模式
外观模式是将很多个类的行为统一管理形成新的外部接口,它强调内部类之间必须存在协作关系,和外部其他类之间又可看作独立的系统。原创 2020-02-10 10:59:18 · 144 阅读 · 0 评论 -
c++适配器模式
适配器模式是将两个不同的接口,但是功能相似,适配的一种方法。甚至其中目标接口没有实现,实现类没有接口都是可以的。适配器模式主要强调的是接口和实现不统一,需要将两者兼容的类。原创 2020-02-09 22:05:23 · 214 阅读 · 0 评论 -
c++代理模式
代理模式,可以为原有的某个类新增一些必要的功能(不同与装饰模式,装饰模式所装饰的东西是可有可无的)。代理模式强调将一个类进化成另一个类,且保留原有类。广泛应用于分布式开发中,将本地系统进化成服务器系统供客户端使用。其中的代码相当之复杂,可能会有一些代码生成器自动生成c++代码。原创 2020-02-09 21:26:46 · 201 阅读 · 0 评论 -
c++建造者模式
建造者模式用来构建复杂对象的设计模式,指挥者用来提供构造方法,建造者用来提供材料,对象建立时只是一个空架子,也可以用`set`方法来自定义构造。原创 2020-02-09 17:19:45 · 396 阅读 · 0 评论 -
c++抽象工厂方法
本文通过运用设计模式比没用设计模式的优势在哪?设计模式主要是要抓住稳定部分和易变部分,文章结尾会指出。数据库操作为例,以下是原有老代码#include <iostream>using namespace std;//数据库连接抽象类class IDbConnect {public: virtual void connect() = 0; virtual ...原创 2020-02-09 11:38:39 · 277 阅读 · 0 评论 -
c++工厂方法
本文通过运用设计模式比没用设计模式的优势在哪? 设计模式主要是要抓住稳定部分和易变部分,文章结尾会指出。还指出工厂方法被设计出来,最开始想要解决的问题是什么。原创 2020-02-08 22:11:51 · 312 阅读 · 0 评论 -
c++桥接模式
本文通过运用设计模式比没用设计模式的优势在哪?设计模式主要是要抓住稳定部分和易变部分,文章结尾会指出。原创 2020-02-08 19:47:32 · 408 阅读 · 0 评论 -
c++装饰模式
本文通过运用设计模式比没用设计模式的优势在哪?设计模式主要是要抓住稳定部分和易变部分,文章结尾会指出。原创 2020-02-08 15:42:20 · 555 阅读 · 0 评论 -
c++观察者模式
本文,从无到有,一点点改进,最终为观察者模式。原创 2020-02-08 09:34:19 · 239 阅读 · 0 评论 -
c++策略模式
本文通过运用设计模式比没用设计模式的优势在哪?设计模式主要是要抓住稳定部分和易变部分,文章结尾会指出。原创 2020-02-07 21:01:07 · 297 阅读 · 0 评论 -
c++模板方法
本文通过运用设计模式比没用设计模式的优势在哪?设计模式主要是要抓住稳定部分和易变部分,文章结尾会指出。原创 2020-02-07 20:33:22 · 228 阅读 · 0 评论 -
c++工厂模式与new的区别
简单工厂模式是最简单且最常用的工厂模式。本文主要讲解工厂模式比new方法的优势。为什么要用工厂模式来替代new?简单的工厂模式相对于new方法有三个核心的好处:1 可以让产品类统一化入参。#include <iostream>#include <string>using namespace std;class AbstractProduct {public...原创 2020-02-05 17:53:20 · 821 阅读 · 0 评论 -
c++单例模式模板
所有单例模类直接继承此模板即可,线程安全,效率高(无所),延时构造。#include <iostream>using namespace std;template <typename T>class Singleton {public: //外部获取单例的接口 static T& getInstance() { stati...原创 2020-02-05 14:46:57 · 2346 阅读 · 0 评论