第二周命题作业
1.请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖导致原则是上层软件并不依赖于底层,而是上层依赖于一个抽象接口(比如java中的interface),而这个接口由底层去实现。这就叫依赖导致原则。虽然有点反常识,但这很好的使软件易于扩展,更强壮。并且更容易写成贴近业务的代码,因为依赖导致原则,是高层决定底层, 前端决定后端。
2.请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
深度学习Tensorflow 框架 就使用了依赖导致原则,tensorflow框架是调用我们写的代码,而不是我们去调用Tensorflow框架。因为,我们在使用tensorflow框架时,必需严格按照框架要求分别去“填充”两部分代码:第一步是创建一个用于计算的网络节点的图。 第二步是创建session,执行和关闭session。 很明显能发现tensorflow有严格要求代码的内容形式,是由tensorflow框架来调用代码。这里的依赖导致可以理解为:高层是深度神经网络的图计算,依赖于某个接口,而使用者,作为底层去具体实现各个图的具体形状和节点,operator等内容。
3.请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
评论