上一页 1 ··· 3 4 5 6 7
摘要: 外观模式应该是程序员最下意识用的一种模式,比如我们习惯性的对复杂系统做一个封装接口。外观模式其本质是对一堆复杂对象和应用的接口抽象,对它们进行封装隔离,对于调用者来说只需要关系接口的实现,而不需要知道内部有哪些对象和调用。 作用 为模块的一组接口提供一致的界面,定义了一个高层接口,这个接口使得这一模 阅读全文
posted @ 2018-03-27 14:33 chencarl 阅读(224) 评论(0) 推荐(0)
摘要: 代理模式是一种程序设计最为重要的一种模式,其具体的使用非常广泛,根据它的作用,其实我们可以直接理解为中间件或者中间层,比如各类软件的中间件,软件与硬件中的中间层。 作用 为其他对象提供一种代理以控制对这个对象的访问。这样实现了业务和核心功能分离。 抽象类视图 分类 1. 虚拟代理:是根据需要创建开销 阅读全文
posted @ 2018-03-26 16:01 chencarl 阅读(575) 评论(0) 推荐(1)
摘要: 装饰模式是一种经典的类功能扩展模式,其精髓在装饰类使用继承加聚合的方式获得接口和要实现对象,然后通过自己实现扩展接口 作用 装饰模式通过装饰类动态地将责任附加到对象上,若要扩展功能,无需通过继承增加子类就能扩展对象的新功能,提供了比继承更有弹性的替代方案,避免了子类数量膨胀带来的系统臃肿。 类视图 阅读全文
posted @ 2018-03-26 10:42 chencarl 阅读(179) 评论(0) 推荐(1)
摘要: 建造者模式与工厂模式最大的区别在与建造者模式更注重的是创建的一系列过程,如流水化作业,工厂模式强调的是区分不同的工厂和产品,而建造者模式更注重的统一不同产品在流水线上的工序,达到统一作业。 作用 建造者模式是将一个复杂对象和他的构造和组装过程分离,这样再重复创建不同对象时使用相同的流程进行建造。对于 阅读全文
posted @ 2018-03-24 15:23 chencarl 阅读(180) 评论(0) 推荐(1)
摘要: reinterpret_cast(重新解释类型转换) reinterpret_cast 最famous的特性就是什么都可以,转换任意的类型,包括C++所有通用类型,所以也最不安全 应用 1. 整形和指针之间的相互转化 2. 指针和引用转化为任意类型的指针和引用 示例 static_cast(静态类型 阅读全文
posted @ 2018-03-19 11:40 chencarl 阅读(501) 评论(0) 推荐(0)
摘要: 适配器模式顾名思义在于接口的转换,最形象的例子就如两口转三口电源适配器,口子的数量可以理解为参数数量,一如我们调用三个参数的接口,而提供的接口只有两个参数,那么久需要适配器类进行接口的扩展改造,这就是适配器模式存在的最主要意义。 作用 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼 阅读全文
posted @ 2018-03-14 23:40 chencarl 阅读(207) 评论(0) 推荐(0)
摘要: 分类 设计模式分为三类: 创建型模式 工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式 结构型模式 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式 行为型模式 策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、 阅读全文
posted @ 2018-03-07 21:42 chencarl 阅读(334) 评论(0) 推荐(0)
摘要: 工厂模式进阶复习 看了多遍的工厂模式,老是忘记不同模式有什么区别,本文重点说明一下工厂模式的三种方式(简单工厂模式,工厂方法模式,抽象工厂模式)的区别 1.简单工厂模式 简单工厂模式通过Factory判断不同的类型来实现不同product的创建 typedef enum ProductTypeTag 阅读全文
posted @ 2017-10-17 17:19 chencarl 阅读(345) 评论(0) 推荐(0)
摘要: C++单例经典实现 本文主要介绍C++使用中的单例的两种经典实现,基本可满足一般的使用,主要分为 饿汉模式 和 懒汉模式 两种 饿汉模式 class Singleton { public: static Singleton getInstance(); private: Singleton(){} 阅读全文
posted @ 2017-10-17 11:21 chencarl 阅读(282) 评论(0) 推荐(0)
摘要: Sqlite 基本操作 打开数据库 sqlite3 SQ_DB; char zErrMsg = 0; int nRes = sqlite3_open("test.db", &SQ_DB); if (nRes!=SQLITE_OK) { return 1; } 执行sql语句 / Create SQL 阅读全文
posted @ 2017-10-16 14:48 chencarl 阅读(188) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7