1.概念:
依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
2.依赖倒转原则用处:
有些时候为了代码复用,一般会把常用的代码写成函数或类库。这样开发新项目时,直接用就行了。比如做项目时大多要访问数据库,所以我们就把访问数据库的代码写成了函数。每次做项目去调用这些函数。那么我们的问题来了。我们要做新项目时,发现业务逻辑的高层模块都是一样的,但客户却希望使用不同的数据库或存储住处方式,这时就出现麻烦了。我们希望能再次利用这些高层模块,但高层模块都是与低层的访问数据库绑定在一起,没办法复用这些高层模块。所以不管是高层模块和低层模块都应该依赖于抽象,具体一点就是接口或抽象类,只要接口是稳定的,那么任何一个更改都不用担心了。
3.注意事项:
- 高层模块不应该依赖低层模块。两个都应该依赖抽象。
- 抽象不应该依赖结节。细节应该依赖抽象。
4.模拟场景:
假设现在需要一个Monitor工具,去运行一些已有的APP,自动化来完成我们的工作。Monitor工具需要启动这些已有的APP,并且写下Log。
代码实现1:
REPORT yabapoodip1.
CLASS appone DEFINITION.
PUBLIC SECTION.
METHODS:
start,
exportlog.
ENDCLASS.
CLASS appone IMPLEMENTATION.
METHOD start.
WRITE: / '1号APP开始启动'.
ENDMETHOD.
METHOD exportlog.
WRITE: /