第二周 -- 设计模式
1.请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
对象A 依赖对象B,一般情况下需要对象A自己去创建并且引用对象B。依赖倒置 就是有个第三方帮助对象A注入需要引用的对象,对象A无需做对象的创建和引用。
依赖倒置原则又被称为好莱坞原则,好莱坞原则是用在系统的高层组件与底层组件之间,高层组件不应该直接调用底层组件,而是从容器获取。依赖倒置原则跟好莱坞原则类似。
2.请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
spring 框架,帮我们做了对象之间依赖的注入操作。
例:
Class A {
private B b;
public B getB(){return this.b;}
public void setB(){return this.b = b ;}
}
在spring中的配置(xml形式)
<bean id = "a" class = "A" >
<property b ref = "b"/>
</bean>
<bean id = "b" class = "B" >
</bean>
底层原理是:spring 容器扫描xml或者注解,解析Bean配置,生成BeanDefinition对象。通过反射的方式调用bean的构造方法创建对象,在设置bean属性的时候,如果发现要引用别的对象,会先创建引用的对象,然后通过反射的方式将引用的对象给属性赋值。
3.请用接口隔离原则优化 Cache 类的设计,画出优化后的类图
评论