摘要: 简述: 工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪个类,工厂方法使一个类的实例化延迟到其子类。 工厂方法模式包括:抽象产品类、具体产品类、抽象工厂方法类、具体工厂方法类。 抽象产品类:定义工厂方法所创建的对象的接口。 具体产品类:继承自抽象产品类,实现了抽象产品类的接口。 抽象工厂方 阅读全文
posted @ 2020-08-11 10:33 二是一种不三不亖的范 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 简述: 代理模式为其他对象提供一种代理以控制这个对象的访问。 代理模式包括:虚基类、被代理类、代理类。 虚基类:定义了被代理类和代理类的公共接口,这样就在任何使用被代理类的地方都可以使用代理类。 被代理类:继承自虚基类,定义代理类所代表的实体 代理类:继承自虚基类,保存一个被代理类对象,使得代理类可 阅读全文
posted @ 2020-08-11 09:16 二是一种不三不亖的范 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 简述: 装饰模式动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 装饰模式包括:抽象对象基类、具体对象类、抽象装饰类、具体装饰类。 抽象对象基类:定义一个对象接口,可以给这些对象动态的添加职责。 具体对象类:继承自抽象对象基类,定义了具体的对象,可以给这个对象添加一些 阅读全文
posted @ 2020-08-10 16:21 二是一种不三不亖的范 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 简述: 策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此设计模式让算法的变化,不会影响到使用算法的客户。 策略模式包括:抽象策略类、具体策略类、上下文类。 抽象策略类:定义所有支持的算法的公共接口。 具体策略类:继承自抽象策略类,封装了具体的算法活行为。 上下文类:用一个具体策略类的 阅读全文
posted @ 2020-08-10 11:36 二是一种不三不亖的范 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 简述: 简单工厂模式,如其名,简单,简单到明明是24种设计模式,却只归类为23种设计模式,把它排除了,但我还是写了出来。 简单工厂模式包括:工厂类、抽象产品类、具体产品类。 工厂类:制造产品,会有一个Create之类得函数,可以根据不同的标识符生产不同的具体产品,当然这些具体产品都继承自抽象产品。 阅读全文
posted @ 2020-08-10 10:45 二是一种不三不亖的范 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 警告: 本人所写的所有博客均属于学习笔记,不用于任何商业用途,仅限于学习交流,也绝对不允许他人用于任何商业用途。 欠打宣言 最近第二次拜读了大话设计模式,比较经典的一本设计模式书籍,当然,再一次读完了这本书的感受就是 全忘了,这就跟张无忌学张三丰的太极拳一样,学了就忘,忘了重学,大繁化简,千锤百炼, 阅读全文
posted @ 2020-08-10 09:52 二是一种不三不亖的范 阅读(282) 评论(1) 推荐(0) 编辑
摘要: 常用算法总结记录一下,否则会变得只记得算法名,也可能名都记不住。 图片和动图(我不会画),但我从网上找到了资源。 代码我用C/C++实现的,运行结果都有验证。 时间复杂度和空间复杂度我还没有研究,各种地方抄到的,以后有时间再研究,如果有错误,还请指正。 In/out-place: 不占/占额外内存 阅读全文
posted @ 2020-02-07 21:08 二是一种不三不亖的范 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 惭愧,做了3年多 C++ 了,虽说半路出家,之前也做过 Linux 一年多,但是 MFC 也做了一年多了,由于一直维护公司的老项目,也没有做过新东西。 最近心血来潮,在网上找了些学习视频,复习下 MFC 控件的使用,熟悉下 MFC 的 API,毕竟是吃饭的家伙,废话不多说,来干货。 最近在仿写一个记 阅读全文
posted @ 2020-01-14 23:47 二是一种不三不亖的范 阅读(969) 评论(0) 推荐(1) 编辑
摘要: 1.智能指针的分类 shared_ptr 允许多个指针指向同一个对象 unique_ptr 只允许唯一指针指向指定对象 weak_ptr 弱引用,指向 shared_ptr 所管理的对象 智能指针都定义在 memory 头文件中 2.shared_ptr shared_ptr 是模板,创建时,必须提 阅读全文
posted @ 2020-01-05 18:34 二是一种不三不亖的范 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 1.可调用对象(callable object)类别包括: 函数 函数指针 重载了函数调用运算符的类 lambda 表达式 2.lambda表达式形式: [capture list] (parameter list) -> return type { function body } capture 阅读全文
posted @ 2020-01-04 00:31 二是一种不三不亖的范 阅读(443) 评论(0) 推荐(0) 编辑