架构师 Week2 作业
什么是依赖倒置原则?
高层模块不依赖于低层模块,依赖于抽象;
抽象不依赖于具体实现,具体实现依赖于抽象。
好莱坞原则是高层组件不应该直接调用低层组件,应该从容器获取。
依赖倒置原则与好莱坞原则在核心思想上是完全一致的;好莱坞原则进行了更形象化的阐述。
描述一个你熟悉的框架,是如何实现依赖倒置原则的
Spring IOC:使用DI依赖注入的方式把底层类作为参数传入上层类,实现上层类对下层类的“控制”,从而实现了IOC控制反转,达到了上层控制下层,而不是下层控制着上层的目的。
请用接口隔离原则优化 Cache 类的设计
用户或业务系统应该看不到Rebuild接口和相关的实现,涉及到安全和多方面的问题。所以需要设计2个隔离的接口:Cacheable接口支持普通的缓存操作,CacheResizeable支持缓存的扩容和重建等操作。用户使用的时候使用Cacheable接口获取对应的实例,不能访问到Rebuild接口。系统可以使用CacheResizeable对缓存进行扩容或重建
评论