依赖倒置原则(Dependency Inversion Principle,DIP)是SOLID五个基本原则之一,目的是降低类之间的耦合度,提高代码的可扩展性和可维护性。
DIP原则的核心思想是,高层模块不应该依赖于低层模块,它们应该依赖于抽象。换句话说,不应该由具体的实现类决定接口,而是由抽象定义接口,具体的实现类实现这个接口。
下面用C#举例说明DIP原则:
(资料图)
```
// 定义一个抽象的消息发送接口
public interface IMessageSender
{
void Send(string message);
}
// 短信发送类
public class SmsSender : IMessageSender
{
public void Send(string message)
{
// 发送短信
}
}
// 邮件发送类
public class EmailSender : IMessageSender
{
public void Send(string message)
{
// 发送邮件
}
}
// 依赖抽象的高层模块
public class MessageService
{
private readonly IMessageSender _messageSender;
public MessageService(IMessageSender messageSender)
{
_messageSender = messageSender;
}
public void SendMessage(string message)
{
_messageSender.Send(message);
}
}
```
在这个示例中,高层模块MessageService依赖于抽象的消息发送接口IMessageSender,而不是具体的短信发送类SmsSender或邮件发送类EmailSender。这种依赖方式使得MessageService能够处理不同的消息发送方式,只要实现了IMessageSender接口就可以。这样就达到了解耦和扩展的目的。
Copyright 2015-2022 南极数据网版权所有 备案号:粤ICP备2022077823号-13 联系邮箱: 317 493 128@qq.com