AI智能
改变未来

ASP.NET 依赖注入之高耦合

ASP.NET 依赖注入之高耦合

//email服务类public class EmailService{public void SendMessage(){......}}//通知系统public class NotificationSystem{private EmailService svc;public NotificationSystem(){sve =new EmailService();}public void InterestingEventHappend(){......sve.SendMessage();......}}

先说一下耦合,当一个组件(类)依赖于其他组件(类)是,我们称其为耦合。
当一个组件(类)中用另一个类声明属性,并创建实例,调用其方法,我们称其为高耦合。
高耦合通常认为是软件设计的责任,高耦合会增加软件修改或者升级的负担,因为修改一个类很有可能破坏依赖于他的另一个类。

如何降低耦合程度?
(1)在两块代码之间引入抽象层。
通常使用接口或者抽象类来代表两个类之间的抽象层。针对上面的示例,我们加入一个接口来代表抽象层,并确保编写的代码只调用接口中的方法和属性。

//定义一个接口,具备发送消息的方法。public interface IMessageService{void SendMessage();}//email服务类public class EmailService:IMessageService{public void SendMessage(){......}}//通知系统public class NotificationSystem{private IMessageService svc;public NotificationSystem(){sve =new EmailService();}public void InterestingEventHappend(){......sve.SendMessage();......}}

通知系统的类中,创建的是接口的实例,通过其执行固定的方法。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » ASP.NET 依赖注入之高耦合