摘要: 本文示例代码,均采用 .NET 6,具体的代码可以在这个仓库 Articles.DI 中获取。 通过前面的文章,了解到了服务的三种声明周期。那么如果我们需要注册服务时,框架都提供了哪些 API 呢?当我们要根据自身需求来声明服务,声明具体的实现时,又该如何编写代码呢?本文将探讨 .NET 内置的 D 阅读全文
posted @ 2022-01-17 00:58 Asjun 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 本文示例代码,均采用 .NET 6,具体的代码可以在这个仓库 Articles.DI 中获取。 前面的文章中,在注册服务时,统一使用了 services.AddSingleton<TService, TImplementation>() 的形式来注册服务,这个方法的具体含义是什么?有没有其他类似的方 阅读全文
posted @ 2022-01-17 00:57 Asjun 阅读(865) 评论(0) 推荐(0) 编辑
摘要: 本文示例代码,均采用 .NET 6,具体的代码可以在这个仓库 Articles.DI 中获取。 前面的文章中,我们提及了依赖注入的基本使用。我们使用了简单的案例,注册了 IMessageWriter 接口,以及编写了两个实现类 MessageWriter 和 LoggingMessageWriter 阅读全文
posted @ 2022-01-17 00:53 Asjun 阅读(1179) 评论(0) 推荐(0) 编辑
摘要: 本文示例代码,均采用 .NET 6,具体的代码可以在这个仓库 Articles.DI 中获取。 在 .NET 中的依赖关系注入是一等公民,官方框架了提供配置、日志记录和选项等模式。 依赖注入(DI)通过下面的方式,解决了前面的这些问题: 使用接口或基类,将依赖关系实现抽象化; 使用统一容器注册服务; 阅读全文
posted @ 2022-01-17 00:52 Asjun 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 本文示例代码,均采用 .NET 6,具体的代码可以在这个仓库 Articles.DI 中获取。 让我们看这么一段简单的代码: // https://github.com/alva-lin/Articles.DI/tree/master/WorkerService1 public class Mess 阅读全文
posted @ 2022-01-17 00:51 Asjun 阅读(1238) 评论(0) 推荐(0) 编辑