![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《Head First 设计模式》学习笔记
C++
Jiestriker
这个作者很懒,什么都没留下…
展开
-
《设计模式》学习笔记——享元模式
一.什么是享元模式 享元模式就是利用共享技术有效地支持大量细粒度对象的复用,帮助我们节省大量内存。比如我们定义一个数据结构记录人的信息,该结构要储存人的id和所在城市(用字符串表示)。 struct person { int id_; std::string city_; }; 当我们需要记录100000条记录时,无疑要创建这100000个结构,对这100000个string对象的...原创 2020-03-22 14:58:14 · 199 阅读 · 0 评论 -
《设计模式》学习笔记——单例模式
单例模式是一种用来创建独一无二的对象的设计模式,以满足相应的应用场景,如系统日志、对话框、设备驱动等对象,这些类仅能有一个实例。单例模式的主要实现方式有两种,分别为饿汉式和懒汉式,两种方法都是将类的构造函数设为私有,禁止在外部构造,并提供一个全局的访问方法让程序的其它模块共享。本文主要对两种单例模式进行简单介绍,并提醒读者双重检查锁机制存在的一些问题及解决方法。 饿汉式(Eager Init...原创 2019-12-23 20:44:23 · 148 阅读 · 0 评论 -
《设计模式》学习笔记——观察者模式
在写程序的过程中,我们肯定有过一个问题:我有两个或多个对象,当其中的某个对象中的值改变时,如何让其它对象知道并且获取这个最新的值。下面就以外卖点餐为例,简要介绍如何实现一个观察者模式进行对象之间的通信。本文主要参考《Head First 设计模式》。 所谓观察者模式,就是建立对象间一对多的依赖关系,所有依赖于它(称为主题 Subject)的对象(称为观察者 Observer),都能自动更新(...原创 2019-11-10 16:46:25 · 194 阅读 · 0 评论 -
《设计模式》学习笔记——工厂模式
最近在学习工厂设计模式,参考书为《Head Firsts设计模式》,由于笔者主要使用C++,在本帖主要使用C++重新实现该书的案例,并做一些总结,作为设计模式的学习笔记。 简单工厂模式 工厂模式的作用主要是帮我们完成对象的实例化工作,它能够让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的。例如,我们有一个pizza店要创建一个pizza: Pizza* orderPizz...原创 2019-10-27 15:39:08 · 366 阅读 · 0 评论