LiZ'blog

不写笔记不读书.

外观模式

设计模式学习,使用golang实现外观模式

外观模式 定义 适用范围 代码实现 优点 缺点 关于接口粒度的思考 参考 外观模式 定义 外观模式也叫门面模式 外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 适用范围 1...

适配器模式

设计模式学习,使用golang实现适配器模式

适配器模式 定义 代码实现 优点 缺点 适用范围 代理、桥接、装饰器、适配器4种设计模式的区别 参考 适配器模式 定义 适配器模式的英文翻译是Adapter Design Pattern。顾名思义,这个模式就是用来做适配的,它将不兼容的接口转换为可兼容的接口,...

装饰模式

设计模式学习,使用golang实现装饰器模式

装饰器模式 定义 代码实现 优点 缺点 适用范围 装饰器模式和桥接模式的区别 参考 装饰器模式 定义 装饰模式:动态的给一些对象添加额外的职责,就增加功能来说,装饰模式比生成子类更灵活。 举个栗子: 我们现在买手机或者电脑,都有基础配置,然后根据我们选择的...

桥接模式

设计模式学习,使用golang实现桥接模式

桥接模式 前言 定义 优点 缺点 应用场景 代码实现 参考 桥接模式 前言 桥接模式的代码实现非常简单,但是理解起来稍微有点难度,并且应用场景也比较局限,所以,相当于代理模式来说,桥接模式在实际的项目中并没有那么常用,所以能分辨出来就行了,这里不做重点的学习。...

代理模式

设计模式学习,使用golang实现代理模式

代理模式 定义 优点 缺点 应用场景 代码实现 参考 代理模式 定义 定义:为其对象提供一种代理以控制这个对象的访问。通俗点讲就是它在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能。 来点通俗的理解: 比如我们买火车票,除了火车站,很多代售...

原型模式

设计模式学习,使用golang实现原型模式

原型模式 定义 代码实现 优点 缺点 适用场景 参考 原型模式 定义 如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段都相同),在这种情况下,我们可以利用对已有对象(原型)进行复制(或者叫拷贝)的方式来创建新对象,以达到节省创建时间的目的。这种基于原...

建造者模式

设计模式学习,使用golang实现建造者模式

建造者模式 定义 适用范围 与工厂模式的区别 优点 缺点 参考 建造者模式 定义 Builder 模式,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式。 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计...

单例模式

单例模式学习,使用golang实现单例模式

单例模式 定义 优点 缺点 适用范围 代码实现 懒汉模式 饿汉模式 双重检测 sync.Once 参考 单例模式 定义 什么是单例模式:保证一...

一些常用的代码规范

如何写出优良的代码,一些常用的代码规范

一些常用的代码规范总结 前言 命名 1、命名的长度选择 2、利用上下文简化命名 3、命名要可读、可搜索 4、如何命名接口 注释 1、注释到底该写什么 ...

策略模式学习

策略模式学习,使用go实现策略模式

策略模式 定义 优点 缺点 使用场景 代码实现 策略模式和工厂模式的区别 参考 策略模式 定义 策略模式定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到客户端的使用,也称为政策模式(Policy)。 策略模式主要的作...