静态绑定和动态绑定
static
share_ptr
设计模式
设计模式之原则
单一职责原则告诉我们实现类要职责单一;
里氏替换原则告诉我们不要破坏继承体系;
依赖倒置原则告诉我们要面向接口编程;
接口隔离原则告诉我们在设计接口的时候要精简单一;
迪米特法则告诉我们要降低耦合;
而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。
设计模式之单一职责原则
一个类只负责一项职责
设计模式之里氏替换原则
子类可以扩展父类的功能,不能改变父类原有的功能,子类可以替换父类,方法或者行为也没有改变
- 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法
- 子类中可以有自己的特定方法
设计模式之依赖倒置原则
高层模块不应该依赖底层模块,二者都应该依赖其抽象接口
抽象不应该依赖细节,细节应该依赖抽象
依赖倒置原则的核心思想是面向接口编程,降低耦合度
- 底层模块都应该提供抽象类或者接口
单例模式
单例模式
- 构造函数的调用 析构函数的调用,防止内存泄漏
- 多线程安全
单例模式防止外部调用构造函数创建对象 构造函数和析构函数私有化防止外部调用
宏实现
- 模板实现
懒汉式
调用时创建单例对象
延迟加载
比如加载配置文件
1 | template<class T> |
饿汉式
应用程序启动时创建单例对象
1 | template<typename T> |