design

Udemy的cpp基础

CPP 基础 cpp学习曲线陡峭,即使之前学过的人如果长时间不用也很容易忘记基础。所以我把自己学习过程中写的例子都过一遍,也方便自己查询基本语法。 我

设计模式 Golang

设计模式 Golang 这篇blog用来记录自己学习设计模式的过程,我的目的是需要搞懂,为何而用(why)以确定使用场景,如何使用(how)以搞懂怎么用G

Class 基本语法

header file #ifndef CAT_H_ #define CAT_H_ class Cat { public: void speak(); void jump(); }; #endif Cat.cpp #include <iostream> #include "Cat.h" void Cat::speak() { using std::endl; using std::cout; cout << "Meouwww!!" << endl; } void Cat::jump() { using std::cout; using std::endl; cout << "Jumping to top of bookcase" << endl; } main.cpp #include <iostream> #include "Cat.h" int main() { Cat cat; cat.speak(); cat.jump(); return 0; } 执行: g++

如何评价

如何评判代码质量 首先,我们应当避免采用抽象词汇来评判代码质量,例如我们要避免说代码优雅、好、坏等等,而是应当有目的性,以及功能性的去评判代码

四大特性以及设计模式生态系统

面向对象四大特性 封装 常用的access specifier是private, public, protected这些。这个与访问权限是相关的,就是

创建型 单例设计模式

为什么需要单例 一个类只允许创建一个对象。 解决访问资源冲突,有些资源只能单一访问。在我们不想加锁的情况,可以通过只允许创建单一对象来访问。 节省

创建型 工厂模式

为什么需要工厂模式 一般来说工厂模式下面还有更加细分的类型,简单工厂、工厂方法和抽象工厂。 一般来说工厂模式最主要的作用就是根据输入变量或者配置

创建型 建造者模式

为什么需要建造者模式 很多时候我们创建了类的对象,或者创建以后一般会定义set函数进行修改,这种思路一般是okay的,但是有下面这些特殊情况,

创建型 原型模式

为什么需要原型模式 最主要应对的场景是对象创建成本比较大,同一个类的不同对象之间如果差别不大,例如大部分字段值可能相同,这种情况下可以通过复制

结构型 代理模式

为什么需要代理模式 结构型的设计模式基本都是做的在不改变基本类的情况修修补补,或者增加功能。可能有个疑问,那为什么不直接在原来类的基础上直接增