使用 SOLID 原则和依赖关系注入
SOLID 原则是任何现代和任务关键型应用程序中使用的关键技术,例如使用 DDD 模式开发微服务。 SOLID 是将五项基本原则分组的首字母缩略词:
单一责任原则
开放/封闭原则
利斯科夫替换原则
接口分离原则
依赖倒置原则
SOLID 更介绍如何设计应用程序或微服务内部层,以及如何分离它们之间的依赖关系。 它与域无关,而是与应用程序的技术设计有关。 最终原则(依赖项反转原则)允许将基础结构层与其余层分离,从而更好地分离 DDD 层的实现。
依赖关系注入(DI)是实现依赖关系反转原则的一种方法。 它是实现对象与其依赖项之间的松散耦合的技术。 无需直接实例化协作者或使用静态引用(即使用 new...),而是向类提供执行其作所需的对象(或“注入到”中)。 大多数情况下,类会通过其构造函数声明其依赖项,从而允许它们遵循显式依赖项原则。 依赖关系注入通常基于特定的反向控制 (IoC) 容器。 ASP.NET Core 提供了一个简单的内置 IoC 容器,但也可以使用喜欢的 IoC 容器,例如 Autofac 或 Ninject。
使用 SOLID 原则,往往会获得构造良好和易于测试的小型类。 但是,如何知道是否将过多的依赖项注入到类中? 如果通过构造函数使用 DI,只需查看构造函数的参数数即可轻松检测它。 如果有太多依赖关系,通常表明你的类试图做得太多,是一种“代码气味”,并且可能违反了单一责任原则。
需要另一个指南来详细介绍 SOLID。 因此,本指南要求你仅了解这些主题的最小知识。
其他资源
SOLID:基本 OOP 原则
https://deviq.com/solid/控制容器和依赖关系注入模式的反转
https://martinfowler.com/articles/injection.html史蒂夫·史密斯 新增即粘附
https://ardalis.com/new-is-glue