面向对象设计原则课后作业

用户头像
周冬辉
关注
发布于: 2020 年 06 月 16 日

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

 

  • 什么是依赖倒置原则

a.上层模块不应该依赖底层模块,它们都应该依赖于抽象。

b.抽象不应该依赖于细节,细节应该依赖于抽象。

调用者(高层)和被调用者(底层)的依赖,用于解除这个依赖,采用抽象来解决这个依赖,底层通过实现这个抽象来解除依赖。

  • 为什么有时候依赖倒置原则又被称为好莱坞原则

在模块的依赖关系设计,采用依赖倒置原则,上层模块不应该依赖底层模块,它们都应该依赖于抽象,依赖于抽象,对接口和抽象编程,不针对实现编程,接口的所有权是被倒置的,也就是说,接口被高层模块定义,高层模块拥有接口,底层模块实现接口。不是高层模块依赖底层模块的接口,而是底层模块依赖高层模块的接口,从而实现依赖关系的倒置。 正好遵守了好莱坞原则: Don't call me,I’ll call you, 实现倒转的层次依赖关系。



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



Spring是一个开源的容器框架,Spring可以接管Web层,业务层,Dao层,持久层组件。主要负责创建Bean以及维护Bean之间的关系。





Spring核心容器:核心容器提供 Spring框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。

BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开,实现依赖倒置原则。DI(Dependency Injection依赖注入)是IOC的实现方式,常见的DI依赖注入的方式有三种:setter方法注入,构造器方法注入,接口注入



3、请用接口隔离原则优化Cache类的设计,画出优化后的类图。

  • 适配器

  • 多继承



用户头像

周冬辉

关注

还未添加个人签名 2020.04.14 加入

还未添加个人简介

评论

发布
暂无评论
面向对象设计原则课后作业