本系列笔记总结23种设计模式在GO语言中的实现方法,参考了refactoringguru.cn/design-patt… 网站的内容,也包括我自己的理解。如果有理解不对的地方,恳请批评指正。
结构型模式
结构型模式介绍如何将对象和类组装成较大的结构, 并同时保持结构的灵活和高效。
结构型模式总共有七种:
- 适配器模式
- 桥接模式
- 代理模式
- 享元模式
- 装饰模式
- 外观模式
- 组合模式
尽管这些模式会增加代码的复杂程度,但它们各自解决了不同的问题,也可以相互配合发挥更强的效果。
付出代码量增加的代价,项目获得了更好的可拓展性,模块之间的耦合度也降低。这在项目很小时弊大于利,但在项目变得越来越庞大时,这些优点就变得至关重要了。
适配器模式
顾名思义,适配器模式是解决接口不适配问题的设计模式。
有时候我们无法改动接口返回的数据结构(比如是调用了封装的第三方包),这时候就需要用到适配器了:传入数据结构A,返回转化后的数据结构B。
虽然很简单,有种“这还用说”的感觉,但是确实是一种非常重要且常见的模式。