Go设计模式24-总结(更新完毕)
注:本文已发布超过一年,请注意您所使用工具的相关版本是否适用
序
- Go 设计模式实现,包含常见的设计模式实现,同时这也是 极客时间-设计模式之美 的笔记,源课程采用 Java 实现,本系列会采用 Go 实现
- 课程: 设计模式之美
- **本文代码仓库: https://github.com/mohuishou/go-design-pattern **🌟🌟🌟🌟🌟
- **RoadMap: 24/24 **这是该系列的最后一篇文章啦,后续看情况可能会不定期补充一些实战的内容,但是正文就这么多了
- **获取更新: **Github、知乎、RSS、开发者头条**
总结
原本预计是在十月底更新完毕这个系列,到今天是 11-05,晚了几天,不过也还好,这是第一次这么密集的去更新博客上的内容,更多的是以笔记的形式来呈现,加上这篇一共 24 篇文章差不多两个半月的时间,平均每周输出两篇,感觉还是不错。后续可能会视情况不定期的更新一些实战内容,也有可能没有。接下来下一个系列应该是数据结构与算法,包含对 Go 中一些底层数据和标准库包的学习,例如 slice, sort 等等。
话说回来,回头再看学习设计模式我们究竟需要学习一些什么?
- 写 Go 需要使用到设计模式么?
- 需要,但是切记请勿使用其他语言的方式来写 Go
- 如果看过之前的一些文章,就会发现类似 JAVA 的这些面向对象语言中的某些设计模式的写法在 Go 中会十分的别扭
- 但是 Go 不需要设计模式么?不是的,设计模式的思想是想通的,并且我们一直都在使用,例如我们常见的对象创建方式
NewXXX
这其实就是一个简单工厂
- 设计模式学习的重点是什么?
- 设计原则,以及设计模式的使用场景和优缺点,实现相对来说还没有那么重要
- 如果是常见的设计模式是武术招式,那么设计原则就是内功心法,没有内功心法那么招式套路也就是花架子
- 熟练掌握不同设计模式的使用场景可以帮助我们学会见招拆招,灵活应用而不是只会套路
- 最后设计模式不是银弹,不要拿着 🔨 就觉得哪里都像是钉子,不要过早优化,持续重构才是正道
设计原则
同时这也是 Code Review 的重要标准之一
设计模式
Go 设计模式
- 单例模式包含饿汉式和懒汉式两种实现
- 工厂模式包含简单工厂、工厂方法、抽象工厂、DI 容器
- 代理模式包含静态代理、动态代理(采用 go generate 模拟)
- 观察者模式包含观察者模式、eventbus
关注我获取更新
猜你喜欢
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议,转载请注明出处,禁止全文转载