随笔分类 - 设计模式
摘要:代码展示: 数据接收函数内,解析cJSON数据时,一不小心就会冒出来一大堆if语句在一个函数内,后续想要新增网络功能时,必然又会导致需要在mqtt订阅函数内去新增部分代码,实现解析新的报文。 这显然耦合性很强。 解耦实现要求至少以新增函数的方式来增加业务功能,而非直接在原来的函数内部去进行新增或修改
阅读全文
摘要:我的相关博文 三种工厂模式详解 策略模式 在GOF的《设计模式:可复用面向对象软件的基础》一书中对策略模式是这样说的: 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。该模式使得算法可独立于使用它的客户而变化。 策略模式为了适应不同的需求,只把变化点封装了,这个变化点就是实现不同需求的
阅读全文
摘要:0. 扫盲: GLib是用C写的一些utilities,即C的工具库,和libc/glibc(GNU C Library)没有关系。 GLib是 Gtk+ 库和 Gnome 的基础。GLib可以在多个平台下使用,比如 Linux、Unix、Windows 等。GLib为许多标准的、常用的 C 语言结
阅读全文
摘要:pimp.hpp: #ifndef pimp_hpp #define pimp_hpp class CMyComponent{ public: CMyComponent(); ~CMyComponent(); void DoSomething(); private: class CMyCompone
阅读全文
摘要:1.为什么可以析构? 我对单例模式的理解: 在单例类对象的生命周期内,只有一个单例类的对象,所以我可以让单例类对象生,也可以让它死,只要保证单例类对象生的时候,只有一个对象就行。 让单例类对象死,就得需要接口,即在外部调用delete。 2.单例的析构-实验, 以及注意事项 注意事项: 不要重复调用
阅读全文
摘要:单例模式的构造函数是私有的,目的是让用户无法直接new出实例,而只有通过其他的接口来获取实例,单例模式在这里作文章,使得多次获取到的实例,都是同一个实例。 单例模式,分为饿汉式单例 和 懒汉式单例。 先把本类对象所需内存在main函数执行前就new出来,这是饿汉式单例。 个人思考: 为什么饿汉式不独
阅读全文
摘要:设计背景: 我:头上的油揩给了手,手接触洗手液。洗手液伤头皮,这样头皮就不会和洗手液接触了。 具体执行过程描述: 1.手揩油 -> 2.取液体 3.->洗手 我:这是什么设计模式?怎么实现? 广告兄<同城广告网>: 设计模式的核心就是面向抽象编程,你首先让手成为一个抽象的类,而不只是手,是一个可以把
阅读全文
摘要:我的相关博文: 别只知道策略模式+简单工厂,试试更香的策略模式+抽象工厂! 1. 简单工厂模式, 一图就看尽 涉及: 产品抽象类(即水果类) 、 工厂类、具体产品类(香蕉类、苹果类) 2. 工厂方法模式使用先来看一下,上截图: 工厂方法模式的实现: 3 class SingleCore // 抽象类
阅读全文
摘要:1. 先贴源码 #include <string> #include<iostream> using namespace std; class LegacyRectangle { public: LegacyRectangle(double x1, double y1, double x2, dou
阅读全文
摘要:观察者模式,程序员让被观察者主动通知观察者相应事件的发生,也就存在一个必要的背景,程序员可以获取当前被观察者的状态。 所谓观察者模式,一般采用方法注册,以实现解耦的思维,被观察者内部可注册所有观察者的观察并处理的方法。程序员可以根据当前被观察者的状态来决定是否调用应用观察者的方法。 这么多观察者的事
阅读全文
摘要:设计模式 设计原则 https://blog.csdn.net/liang19890820/article/category/6783147 配套C++ 设计模式教程的博客 https://www.cnblogs.com/mcgrady/p/10343085.html .
阅读全文
摘要:个人理解:计算机语言体现思想,可以描述世界,我们要不断地描述。我们思考怎样去描述,思考如何描述能更简单易懂,简单易懂是目的之一。同时,计算机语言是工具,我们拥有了总体的思维之后,也肯定需要一些编程的小技巧,小技巧能助力编程。 我认为程序难, 我对一些逻辑,还没有通用的方法 主要是人啊, 即使用中文来
阅读全文

浙公网安备 33010602011771号