很多博客或者书上都会提到依赖倒置,给出的示例呢也都是提取接口来隔离两个模块。那么为啥叫倒置呢?然后多半是这么解释的:以前设计软件能都是从高层模块调用底层模块,这样呢高层模块就严重依赖于底层模块了,所以要倒过来。至于怎么倒过来就是前面说的就是要依赖抽象(接口)。但是这样哪里能看出倒置的意思呢?我想了下觉得应该这样解释:
纵然高层不应该依赖底层,那么倒置的话,是说底层依赖高层?而事实上我们要做的是要通过接口来互相隔离。高层业务需要复用,底层模块的也需要复用。
所谓“倒置”个人觉得并非真正代码层面真正的依赖关系,而是实现逻辑上,底层的功能是根据高层的需求来定的。
所以我觉得依赖倒置改成依赖抽象更符合这条原则。
本文探讨了软件设计中依赖倒置原则的本质,并解释了为何将其称为“倒置”。文章指出,这一原则并不是指代码级别的依赖关系颠倒,而是强调高层模块与底层模块之间通过抽象接口进行解耦。
1301

被折叠的 条评论
为什么被折叠?



