架构 2 期 - 第二周作业(1)
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置原则按照老师给出的定义是调用层不应该依赖被调用层,双方都应该依赖一个接口,而这个接口应该是由调用层定义,由被调用层来实现。
那么倒置的含义应该如何理解呢?
倒置按照正常的逻辑思路,调用层就应该依赖被调用层,它在图上的表示关系就是由上到下,但是在软件设计中这样会限制双方的扩展性和可复用性,因此必须去除这种依赖而变成了由被调用层实现调用层定义的接口,在图上的关系就变成了由下到上的实现关系。这就直观体现了倒置的含义。
之所以被称为好莱坞原则,因为好莱坞的名言(don‘t call us, we‘ll call you),刚好体现了这种关系,底层实现不需要去调用上层,只需要实现契约(留个电话),上层会决定何时调用你。
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
其中IAppCache由应用层聚合使用,而IServerCache由系统远程调用。
评论