Week2-Homework

用户头像
关注
发布于: 2020 年 06 月 17 日

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

依赖倒置,就是子类,或者逻辑下层的类,依赖上层。而不是上层依赖下层。双方可以通过接口来明确依赖关系。比如,controller和service。controller是上层,service是下层。如果按照依赖倒置的原则,应该是由controller来提供声明,service来实现其行为。但目前:日常开发中,更多的还是,由service来声明一个接口,serviceimpl实现自己的接口,自己声明,自己实现。而controller注入service并调用方法。这其实是controller依赖了service,违反了依赖倒置的原则。

You don't call me,I'll call you.这就是经典的好莱坞原则。好莱坞原则,说的是软件设计中,业务方法,类,实例等,并不需要调用框架中的任何方法。应该将业务方法写在框架中,由框架来自动的调用业务方法,完成软件开发。

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

Spring 的 ioc就是典型的依赖倒置的实现。

Spring核心就是一个DI框架,那么这个框架解决了哪些问题呢?

1.声明需要创建的对象需要哪些依赖对象

2.注册创建这些依赖对象所需要的类

3.提供一种使用1和2两点思想创建对象的机制

其实这个过程,就是一棵依赖树递归遍历的过程。Spring围绕ApplicationContext接口,解决了以上三个问题。

那么,ApplicationContext这个接口,其实主要由两个东西构成,Configuration和Bean。Configuration提供Bean之间的依赖关系配置,Bean提供基本的对象。ApplicationContext拿到这些Bean根据Configuration的规则来组装。

类图



用户头像

关注

还未添加个人签名 2018.05.02 加入

还未添加个人简介

评论

发布
暂无评论
Week2-Homework