教程演示🔗
你将学到什么
-
认识并应用设计模式
-
重构现有设计以使用设计模式
-
关于设计模式的适用性和可用性的原因
要求
-
对 Go 的良好理解
-
熟悉最新的Go语言功能
-
对软件设计原理有很好的理解
-
一台配备最新 Go 编译器和(希望)IDE 的计算机
描述
课程大纲
本课程从实践角度全面概述了 Go 中的设计模式。本课程特别涵盖了使用以下内容的模式:
- Go 编程语言的最新版本
- 使用现代编程库和框架
- 使用现代开发工具,例如 JetBrains GoLand
- 模式变化和替代方法的讨论
本课程概述了四人帮 (GoF) 的所有设计模式(如其开创性著作中所概述),以及该语言中模式的现代变化、调整和讨论。
什么是设计模式?
设计模式是常见编程问题的可重用解决方案。它们因 1994 年Erich Gamma、John Vlissides、Ralph Johnson 和 Richard Helm (通常被称为“四人帮”,GoF 缩写)所著的《设计 模式:可重用面向对象软件的元素 》一书而流行起来 。
原书《GoF》使用 C++ 和 Smalltalk 作为示例,但从那时起,设计模式已适应每一种可以想象到的编程语言:C#、Java、Swift、Python、JavaScript 以及现在的 Go!
设计模式的吸引力是不朽的:我们在库中看到它们,其中一些是编程语言中固有的,即使您没有意识到它们的存在,您也可能每天都会使用它们。
本课程涵盖哪些模式?
本课程涵盖了 所有 GoF 设计模式。事实上,以下是所涵盖内容的完整列表:
- SOLID设计原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则、依赖倒置原则
- 创意设计模式:构建器、工厂(工厂方法和抽象工厂)、原型和单例
- 结构设计模式:适配器、桥、复合、装饰器、外观、享元和代理
- 行为设计模式:责任链、命令、解释器、迭代器、调解器、备忘录、观察者、状态、策略、模板方法和访问者
该课程适合谁?
本课程面向的 Go 开发人员不仅希望了解设计模式的教科书示例,还希望了解可用于以现代方式实现设计模式的不同变体和技巧。例如,使用复合模式允许结构可迭代,并让标量对象伪装成集合。
演示风格
本课程以(非常大的)系列现场演示的形式呈现,这些演示是在 JetBrains GoLand 中完成并使用 Kinetica 渲染引擎进行呈现。Kinetica 消除了 IDE 的视觉混乱,让您专注于代码,无论您是在大屏幕上还是在手机上观看课程,代码都会完美呈现。
大多数演示都是单文件,因此您可以下载课程附带的文件并在 GoLand 或您选择的其他 IDE 中运行它(或者只是从命令行运行它们)。
本课程不使用 UML 类图;所有演示都是通过实时编码完成的。
本课程适合谁:
- 软件工程师
- 网页开发人员
- 设计师
- 建筑师