依赖倒置原则(The Dependency Inversion Principle)
A、高层模块不应该依赖于底层模块。二者都应该依赖于抽象。
B、抽象不应该依赖于细节。细节应该依赖于抽象。
层次化
所有结构良好的面向对象架构都具有清晰的层次定义,每个层次通过一个定义良好、受控的接口向外提供一组内聚的服务。
一个糟糕的示例(高层模块直接依赖底层模块):
每个高层都为它所需要的服务声明一个抽象接口,低层实现抽象接口。
依赖倒置原则(The Dependency Inversion Principle)
A、高层模块不应该依赖于底层模块。二者都应该依赖于抽象。
B、抽象不应该依赖于细节。细节应该依赖于抽象。
层次化
所有结构良好的面向对象架构都具有清晰的层次定义,每个层次通过一个定义良好、受控的接口向外提供一组内聚的服务。
一个糟糕的示例(高层模块直接依赖底层模块):
每个高层都为它所需要的服务声明一个抽象接口,低层实现抽象接口。