依赖反转原则
2022-06-23 15:25:39 14 举报
AI智能生成
依赖反转原则
作者其他创作
大纲/内容
控制反转(IOC)
控制
对程序执行流程的控制
反转
指的是在没有使用框架之前,程序员自己控制整个程序的执行。在使用框架之后,整个程序的执行流程可以通过框架来控制。流程的控制权从程序员“反转”到了框架。
案例
控制反转前
控制反转后
系统预留扩展点
案例讲解
依赖注入(DI)
定义
不通过 new() 的方式在类内部创建依赖类对象,而是将依赖的类对象在外部创建好之后,通过构造函数、函数参数等方式传递(或注入)给类使用。
案例
非依赖注入实现
依赖注入实现
优点
提高了代码的扩展性,依赖注入的类可以灵活的替换
案例
扩展性体现代码
依赖注入框架
我们通过依赖注入框架提供的扩展点,简单配置一下所有需要的类及其类与类之间依赖关系,就可以实现由框架来自动创建对象、管理对象的生命周期、依赖注入等原本需要程序员来做的事情。
依赖反转原则(DIP) Dependency Inversion Principle
高层模块(high-level modules)不要依赖低层模块(low-level)。高层模块和低层模块应该通过抽象(abstractions)来互相依赖。除此之外,抽象(abstractions)不要依赖具体实现细节(details),具体实现细节
高层模块和低层模块的划分,简单来说就是,在调用链上,调用者属于高层,被调用者属于低层
0 条评论
下一页