依赖倒置原则

[ Dependence Inversion Principle ]

高层模块不应该依赖于底层模块 , 两者都应该依赖于抽象 。

抽象不应该依赖于实现细节 , 实现细节应该依赖于抽象 。

要对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。

面向过程的开发,上层调用下层,上层依赖于下层,当下层剧烈变动时上层也要跟着变动,这就会导致模块的复用性降低而且大大提高了开发的成本。   

面向对象的开发很好的解决了这个问题,一般情况下抽象的变化概率很小,让用户程序依赖于抽象,实现的细节也依赖于抽象。即使实现细节不断变动,只要抽象不变,客户程序就不需要变化。这大大降低了客户程序与实现细节的耦合度大大的降低了。
 

posted on 2012-02-20 22:55  多个马甲  阅读(140)  评论(0编辑  收藏  举报