您现在的位置是:主页>文章>C# 设计模式(6)--依赖倒转原则 网站首页

C# 设计模式(6)--依赖倒转原则

一,引言

这个系列是本人对设计模式的一些看法,希望能让对设计模式有兴趣的朋友,以此入门,写的不当之处欢迎指出。转载的朋友请留下原文链接。下面为大家介绍一种设计原则——依赖倒转原则.

二,定义

高层模块不应该依赖低层模块。两者都应该依赖抽象。

抽象不应该依赖细节。细节应该依赖抽象。

三,解析

谁调用谁谁就依赖于谁,高层模块调用低层模块(如:三层架构中的业务逻辑层调用数据访问层,就说业务逻辑依赖于数据访问层),在实际的开发过程,要换数据库的问题也是非常常见的,此时如果业务逻辑层依赖于数据访问层那么对于变更数据库这个需求必然无法复用业务逻辑层的代码,即是业务逻辑层和数据访问层的耦合性太强。这里如果业务逻辑层和数据访问层都依赖于抽象,具体点就是依赖于接口或是抽象类,只要接口是稳定的,那么任何一个的变更都不用担心其他会受到影响,这就让业务逻辑层和数据访问层都可以很容易得到复用。

四,总结

1:通过依赖于抽象来减低各个层的耦合度,互相独立,便能够做到高度复用。

2:针对抽象编程,而不是针对具体细节编程,即程序中所有的依赖关系都是终止于抽象类或则接口,那就是面向对象的设计,反之那就是过程化的设计了。

Top