Week 02 作业
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
1) 什么是依赖倒置原则
a. High-level modules shouldn't depend on low-level modules(高层模块不依赖底层模块)
b. Both modules should depend on abstractions(高层和底层都依赖抽象)
c. In addition, abstractions shouldn't depend on details. Details depend on abstractions.(抽象不应该依赖于细节,细节应该依赖于抽象)
2)依赖倒置原则有时被称为好莱坞原则
a. 好莱坞原则:Don't call me, I'll call you. 你不需要主动创建,如果你需要,我给你。
b. 依赖倒置原则: 高层不依赖低层,低层不依赖高层,二者都依赖于抽象的中间接口,但接口属于高层
c. 两个关系形式上很类似,控制权都在高层手里,但有区别,高层底层直接交流,依赖倒置原则是有个中间的抽象层联系高层和底层
请描述一个你熟悉的框架,是如何实现依赖倒置原则的
TensorFlow Models 通过protobuffer配置文件来配置神经网络,根据定义的接口,通过配置文件定义具体的神经网络,预处理,网络模型,参数接口都属于框架,具体实现由配置决定。
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图
评论