设计微服务应用程序层和 Web API

小窍门

此内容摘自电子书《适用于容器化 .NET 应用程序的 .NET 微服务体系结构》,可以在 .NET Docs 上获取,也可以下载免费的 PDF 以供离线阅读。

适用于容器化 .NET 应用程序的 .NET 微服务体系结构电子书封面缩略图。

使用 SOLID 原则和依赖关系注入

SOLID 原则是任何现代和任务关键型应用程序中使用的关键技术,例如使用 DDD 模式开发微服务。 SOLID 是将五项基本原则分组的首字母缩略词:

  • 单一责任原则

  • 开放/封闭原则

  • 利斯科夫替换原则

  • 接口分离原则

  • 依赖倒置原则

SOLID 更介绍如何设计应用程序或微服务内部层,以及如何分离它们之间的依赖关系。 它与域无关,而是与应用程序的技术设计有关。 最终原则(依赖项反转原则)允许将基础结构层与其余层分离,从而更好地分离 DDD 层的实现。

依赖关系注入(DI)是实现依赖关系反转原则的一种方法。 它是实现对象与其依赖项之间的松散耦合的技术。 无需直接实例化协作者或使用静态引用(即使用 new...),而是向类提供执行其作所需的对象(或“注入到”中)。 大多数情况下,类会通过其构造函数声明其依赖项,从而允许它们遵循显式依赖项原则。 依赖关系注入通常基于特定的反向控制 (IoC) 容器。 ASP.NET Core 提供了一个简单的内置 IoC 容器,但也可以使用喜欢的 IoC 容器,例如 Autofac 或 Ninject。

使用 SOLID 原则,往往会获得构造良好和易于测试的小型类。 但是,如何知道是否将过多的依赖项注入到类中? 如果通过构造函数使用 DI,只需查看构造函数的参数数即可轻松检测它。 如果有太多依赖关系,通常表明你的类试图做得太多,是一种“代码气味”,并且可能违反了单一责任原则。

需要另一个指南来详细介绍 SOLID。 因此,本指南要求你仅了解这些主题的最小知识。

其他资源