架构师训练营第 1 期第二周课后练习题
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置原则简单的讲:
1.高层模块不依赖低层模块,而是都应该依赖抽象。
2.抽象不能依赖实现,而是实现应该依赖抽象。
也就是常说的应该面向接口编程而不是面对实现编程,面向接口编程的直接好处是等于在开发具体实现之前约定好了规范,更好的约束团队之间的协作。当接口方法的输入和输出作为规范确定下来之后,使用接口的一方,就可以不需要操心内部实现,甚至不需要接口的具体实现开发完成,就可以进行自己一方的开发工作,这种编程思想为我们带来了,测试驱动开发,高低层模块的并行开发,依赖注入,模块之间轻松的解耦,可以更容易的遵守开放封闭原则等等一系列可操作的最佳实践,配合开闭原则,里氏代换原则,单一职责原则,接口隔离原则,帮助我们整个软件系统和软件工程,保持清晰的边界,存进良好的协作,防止软件变更导致的混乱,起到了非常重要的作用,可以说实践好这些原则,就可以最大程度的防止代码bug的产生,提高开发的效率。
例如数据仓库利用这个原则实现了底层的替换而无需修改高层,
之所以被叫做好莱坞原则,就是因为DIP调转了调用方式,变成了Don`t call me ,I will call you,在编写框架的时候,框架调用应用,而不是应用调用框架,这是框架设计的核心思想。
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
评论