第二周学习总结
依赖倒置原则:Dependency Inversion Principle;DIP
高层模块不应该依赖于低层模块,二者都应该依赖于抽象;
抽象不应该依赖于细节,细节应该依赖于抽象。
该原则是框架(framework)设计的核心原则
每个较高层次都为它所需要的服务声明一个抽象接口,较低的层次实现了这些抽象接口。每个高层类都通过该抽象接口使用下一层,这样高层就不依赖于低层,低层反而依赖于在高层中声明的抽象服务接口。
低层模块实现了在高层模块中声明并被高层模块调用的接口。
要依赖于抽象,程序中所有的依赖关系都应该终止于抽象类或者接口。
任务变量都不应该持有一个指向具体类的引用。
任何类都不应该从具体类派生。
任何方法都不应该重写它的任何基类中的已经实现了的方法。
依赖倒置可以应用于任何存在一个类向另一个类发送消息的地方。
使用何种语言来编写程序是无关紧要的。如果程序的依赖关系是倒置的,它就是面向对象的设计,如果程序的依赖关系不是倒置的,它就是过程化的设计。
评论