架构师训练营 - 第二周 - 作业 1

发布于: 2020 年 06 月 17 日

作业一:

  • 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?

依赖倒置原则说的是高层模块不能依赖底层模块,而是大家够依赖于抽象

抽象不能依赖实现,而是实现依赖抽象。依赖倒置原则的中心思想是面向接口编程,通过抽象(接口或者抽象类) 使各个类或模块的实现彼此独立,不互相影响,实现模块间的松耦合。

而 好莱坞原则是用在系统的高层组件与底层组件之间。高层组件不应该直接调用底层组件,而是从容器获取。这与依赖倒置的原则的高层不能依赖底层的说法异曲同工。

作业二:

  • 请描述一个你熟悉的框架,是如何实现依赖倒置原则的。

spring 中的IOC容器包含最基本的IoC容器BeanFactory接口的设计与实现。例如,XmlBeanFactory是BeanFactory的实现。在Spring框架中,IOC容器由接口ApplicationContext表示,Spring容器负责实例化,配置和组装成为bean的对象,并管理他们的生命周期。

spring框架提供了ApplicationContext接口的几种实现- 独立应用程序的ClassPathXmlApplicationContextFileSystemXmlApplicationContext,Web应用程序的WebApplicationContext

spring中可以通过构造函数、setter或字段形式完成。

  1. 构造函数方式

@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 类的设计,画出优化后的类图。

发布于: 2020 年 06 月 17 日 阅读数: 8
用户头像

狂奔嘀兔纸

关注

还未添加个人签名 2018.04.28 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营-第二周-作业1