module
Version:
v0.0.0-...-bd8c593
Opens a new window with list of versions in this module.
Published: Dec 17, 2020
License: MIT
Opens a new window with license information.
README
¶
design-pattern-in-golang
设计模式学习笔记
学习设计模式,熟记一下两个原则:
- 面向接口编程(Program to an "interface", not an "implementation")
- 使用者不需要知道数据类型、结构、算法的细节
- 使用者不需要知道实现的细节,只需要知道提供的接口
- 组合优于继承(Favor "object composition" over "class inheritance")
- 继承需要给子类暴露父类的设计和实现细节
- 父类实现的改变会造成子类也需要改变
- 继承更多的应该是为了多态,而不是增加代码的重用
设计模式的分类
设计模式分为三大类:
其中:创建型设计模式解决的问题是"对象如何创建";结构模式解决的问题是"类或对象的组合或组装"的问题;行为模式是解决"类或对象之间的交互"的问题。
代理模式、桥接模式、装饰器模式和适配器模式的区别
代理模式、桥接模式、装饰器模式和适配器模式的代码结构相似,都可以称为wrapper模式。虽然结构相似,但是这四种模式的应用场景各不相同。
- 代理模式:在不改变原始类接口的情况下,为原始类定义一个代理类,主要目的是访问控制,而不是加强功能。
- 装饰器模式:在不改变原始类接口的情况下,对原始类的功能进行增强,并且支持多个装饰器嵌套使用。
- 桥接模式:目的是将接口和实现分离,实现独立的演进
- 适配器模式:作为一种事后补偿策略,提供与原始类不同的接口。
Directories
¶
behavioral
|
|
|
|
structural
|
|
|
|
|
|
|
|
|
|
Click to show internal directories.
Click to hide internal directories.