面向对象程序设计
设计模式分为以下三种:
-
生成模式
生成模式包含:工厂模式,单例模式
工厂模式:主要用于一个类频繁创建实例的时候,但是可能每个实例会略有不同,就像工厂批量生产产品。举个例子,比如建立数据库连接的时候,可以选择和不同的数据库以不同的连接方式连接,就可以使用工厂模式,不断的建立数据库连接,建立使用完再销毁。
参考链接:三大工厂模式的代码实现及总结单例模式:非常常用并且好用的一种设计模式,用于该类在项目中仅有一个实例的情况。比如工具类,dao层等。
参考链接:C++ 实现单例模式 -
结构模式
结构模式包含:适配器模式,桥接模式,组合模式,外观模式,代理模式
适配器模式:适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。
参考链接:适配器模式(三种)简单使用组合模式:将对象组合成属性结构以表示“部分-整体”的层次结构。组合使得用户和单个对象和组合对象的使用具有一致性
参考链接:组合模式 -
行为模式
行为模式包含:命令模式,媒体模式,观察者模式,状态模式,策略模式,观察者模式
命令模式:使用接口或者虚基类使得命令具有扩充性,方便拓展。把命令的接受者和执行者分离开来。
参考链接:命令模式经典详解观察者模式:观察者模式就是定义对象之间的一对多依赖,这样一来,当一个对象状态发生改变时,它的所有依赖者都会收到通知并自动更新。 这样的好处就是两个或多个对象之间松耦合,它们依然可以交互,但不太清楚彼此的细节。观察者模式提供了一种对象的设计,让主题和观察者之间松耦合。松耦合的设计可以让我们建立有弹性的OO系统,能够应对变化,是因为对象之间的互相依赖降到了最低。
参考链接:观察者模式经典实现方式