什么是依赖倒置:
模块常规的依赖关系是A调用B,A就依赖B。而倒置则是A调用B,但是B依赖A。
依赖倒置的实现在于模块间通过抽象的接口进行交流,B去实现A定义的接口,A在运行的时候自动通过接口去调用B的实现类,因此是Don't call me,i will call you的好莱坞原则.
高层模块,底层模块一个基于接口进行调用开发,一个基于接口进行实现,这样就能在开发顺序上自上而下进行开发,提高高层模块的复用性。
核心点便是模块间基于接口交流,高层模块不依赖于任何具体实现。
而在运行时创建具体实例的时候则不可避免需要有具体实现的依赖才能创建具体实例,此时可通过全局的工厂类进行此类操作。
五大设计原则:
开闭原则:不破坏原有代码的稳定性
单一职责:高内聚,便于并行开发
接口隔离:防止调用方调用了错误的接口
依赖倒置:解耦模块,倒置开发职责
里式替换:保证子类的合理性和父类的稳定性
接口设计最终目标:
明确职责,高内聚,松耦合
网友评论