如何在.NET应用程序中实现依赖注入以降低类之间的耦合度?请提供代码示例。
时间: 2024-11-24 13:33:09 浏览: 4
在.NET应用程序中实现依赖注入(DI),是通过将服务的依赖关系从其直接创建中解耦来实现的。依赖注入通过控制反转(IoC)模式来实现松耦合,提高代码的可测试性和可维护性。为了帮助你更好地掌握这一技巧,推荐查看这份资料:《***(2011).pdf》。这份资源将为你提供原理性的讲解和实际应用,直接关联到你当前的问题。
参考资源链接:[Mark Seemann---Dependency.Injection.in.NET(2011).pdf](https://wenku.csdn.net/doc/649165b49aecc961cb1baeee?spm=1055.2569.3001.10343)
.NET中,通常使用控制反转容器(IoC Container)来实现依赖注入。以下是一个使用.NET Core内置依赖注入容器的简单示例:
首先,定义一个接口和它的实现类,例如一个日志接口及其实现:
```csharp
public interface ILogger
{
void Log(string message);
}
public class ConsoleLogger : ILogger
{
public void Log(string message)
{
Console.WriteLine(message);
}
}
```
然后,在服务启动时配置服务:
```csharp
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<ILogger, ConsoleLogger>(); // 注册服务
}
```
在需要使用`ILogger`的地方,通过构造函数注入:
```csharp
public class MyService
{
private readonly ILogger _logger;
public MyService(ILogger logger)
{
_logger = logger;
}
public void DoWork()
{
_logger.Log(
参考资源链接:[Mark Seemann---Dependency.Injection.in.NET(2011).pdf](https://wenku.csdn.net/doc/649165b49aecc961cb1baeee?spm=1055.2569.3001.10343)
阅读全文