设计模式
LKTracker
这个作者很懒,什么都没留下…
展开
-
C++设计模式之适配器模式详解
适配器模式:将一个类的结构转换成客户希望的另外一个借口。适配器模式使得原本由于借口不兼容而不能一起工作的那些类可以一起工作。在软件开发过程中,如果系统的数据和行为都正确,但借口不符时我们应该考虑适配器模式。主要用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。 其一般形式为:一个目标类(Target,即客户期望的接口),一个需要被适配的类(Adaptee,原接口),一个适配器类(Adapter,通过内部包装一个Adaptee对象,把原接口转换成目标接口),其结构图...原创 2021-04-08 11:10:39 · 181 阅读 · 0 评论 -
C++设计模式之代理模式详解
代理模式:提供一种代理以控制对某个对象的访问。一般形式为:一个抽象接口类,一个真实的需要被代理的实体类,一个代理类,后两个类都继承于抽象接口类代理模式应用场景:1.代理服务器,远程代理; 2.虚拟代理(打开HTML网页图片加载缓慢时,就是通过虚拟代理替代了真实的图片,此时代理存储了真实图片的路径和尺寸,就是虚拟代理); 3.安全代理(控制真实对象访问时的权限); ...原创 2021-04-07 22:13:57 · 387 阅读 · 1 评论 -
C++设计模式之工厂方法模式详解(对比简单工厂)
前面的文章详细介绍了单例模式和简单工厂模式,有需要的可以点击链接去看看。之前说到,简单工厂模式有一个最大的弊端就是它违背了开放封闭原则,因为如果需要新增功能,则需要工厂类的内部,这违背了对修改关闭的设计原则。为了解决这个问题,工厂方法模式就诞生了。 工厂方法:定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。通俗一点讲工厂方法和简单工厂的区别在于:简单工厂只有一个工厂类,且其中包含了所有可能的操作,根据传入参数的不同返回不同的对象,而工厂方...原创 2020-12-12 11:09:52 · 161 阅读 · 0 评论 -
C++设计模式之简单工厂模式详解
前面的文章C++设计模式之单例模式详解(懒汉模式、饿汉模式、双重锁)讲了设计模式中最简单的单例模式,有需要的可以点击链接去看看,用C++详细的实现了单例模式包括懒汉式、饿汉式、双重锁等方式。今天讲讲另外一种简单的设计模式:简单工厂模式。 在实际的工作场景中,程序员写的代码实现基本功能仅仅是第一步,更重要的是代码的可维护性、可复用性和灵活性。对于C++程序员,我们要想的如何利用面向对象的编程思想,用好C++的三大特性(封装、继承和多态)来写出符合要求的代码,这点需要我们在实际工...原创 2020-12-09 09:21:38 · 223 阅读 · 0 评论 -
C++设计模式之单例模式详解(懒汉模式、饿汉模式、双重锁)
有时,我们希望类的实例对象有且仅有一个,比如某个页面,我们希望它如果出现,永远只有一个,那么此时你可能就需要用到单例模式了。(PS:本人亲身经历过手写单例模式的面试,所以以下代码必须能够手撕!!!) 单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。首先,怎么让类只有一个实例呢?肯定是构造函数需要做点“手脚”了,如果构造函数一如既往的是public属性,那还是可以任意构造对象,则不满足要求了。所以大神们想出来将构造函数私有化的方法,即把构造函数设置成私有属性,并对外提供一...原创 2020-12-06 19:50:08 · 7266 阅读 · 17 评论