设计模式
stitch389
这个作者很懒,什么都没留下…
展开
-
设计模式之策略模式——C++
一、定义 定义一系列算法,把它们一个个封装起来,并且使它们可变化。该模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展,子类化)。 二、使用场景 在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。如何在运行时根据需要透明地更改对象的算法,将算法与对象本身解耦? 对于性能负担的理解:如果用if else语句,函数会变得很长,这一个函数在同一个代码段,在使用时会整个加载到内存中,但此代码段中又有很原创 2021-06-06 11:12:44 · 130 阅读 · 0 评论 -
设计模式之模板方法模式——C++
一、类别 Template Method属于组件协作模式。 组件写作模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。 典型模式:Template Method、Observer / Event、Strategy 二、定义 定义一个操作中的算法的骨架(稳定),而将一些步骤延迟(变化)到子类中。Template Method使得子类可以不改变(复用)一个算法的结构即可重定义(重写)该算法的某些特定步骤。 三、代码对比 背景:对于应用程序的开发,一般是先创建Librar原创 2021-06-06 10:17:09 · 138 阅读 · 0 评论 -
设计模式之单例模式——C++
一、定义 单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。 让类自身负责保存它的唯一实例,这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。 饿汉式单例类:静态初始化。在对象自己被加载时就将自己实例化。 懒汉式单例类:在对象第一次被引用时,才会将自己实例化。 区别:饿汉式,是类一加载就实例化的对象,所以要提前占用系统资源。懒汉式又会面临着多线程访问的安全性问题,需要做双重锁定才能保证安全。 二、实现 懒汉式: class Singleton {原创 2021-06-03 11:01:54 · 125 阅读 · 0 评论