架构师训练营 - 第二周 - 作业 1
作业一:
请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置原则说的是高层模块不能依赖底层模块,而是大家够依赖于抽象
抽象不能依赖实现,而是实现依赖抽象。依赖倒置原则的中心思想是面向接口编程,通过抽象(接口或者抽象类) 使各个类或模块的实现彼此独立,不互相影响,实现模块间的松耦合。
而 好莱坞原则是用在系统的高层组件与底层组件之间。高层组件不应该直接调用底层组件,而是从容器获取。这与依赖倒置的原则的高层不能依赖底层的说法异曲同工。
作业二:
请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
spring 中的IOC容器包含最基本的IoC容器BeanFactory接口的设计与实现。例如,XmlBeanFactory是BeanFactory的实现。在Spring框架中,IOC容器由接口ApplicationContext表示,Spring容器负责实例化,配置和组装成为bean的对象,并管理他们的生命周期。
spring框架提供了ApplicationContext接口的几种实现- 独立应用程序的ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,Web应用程序的WebApplicationContext。
spring中可以通过构造函数、setter或字段形式完成。
构造函数方式
@Configuration
public class redisConfiguration {
@Bean
public Item item1() {
return new ItemImpl1();
}
@Bean
public RedisObject objectInit() {
return newRedisObject(item1());
}
2.setter方式
此种方式,在调用无参数构造函数或无参数静态工厂方法以实例化bean之后,容器将调用我们类的setter方法
@Bean
public Store store() {
Store store = new Store();
store.setItem(item1());
return store;
3.基于字段的方式,可以使用@Autowired注解来标识
public class Store {
@Autowired
private Item item;
作业三:
请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
版权声明: 本文为 InfoQ 作者【狂奔嘀兔纸】的原创文章。
原文链接:【http://xie.infoq.cn/article/682f980ae22969a79d0e18583】。文章转载请联系作者。
评论