依赖反转
依赖反转原则的内容为:
- 高层模块不该直接依赖于低层模块。它们两个应该依赖抽象。
- 抽象不应该依赖于细节,细节应该依赖于抽象。
其实,说的更简单些就是要针对接口编程,不要针对实现编程。
示例
Bad:
Good:
优缺点
- 可以很好得适应变化,响应变化
缺点
- 对象的创建可能要使用对象工厂,以避免对具体类的直接引用
- 会导致大量的类,使不熟悉面向对象技术的工程师上手难度大。
- 假定所有的类都是变化的,但有些类是相当稳定的,不必要再写抽象类。
依赖反转原则的内容为:
其实,说的更简单些就是要针对接口编程,不要针对实现编程。
Bad:
Good:
缺点