第二周课后作业

发布于: 2020 年 06 月 17 日
第二周课后作业

作业一:

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

依赖倒置原则,是指高层模块不依赖低层模块,大家都依赖于抽象;抽象不能依赖实现,而是实现依赖抽象。

个人实践上理解:使用方不依赖于对方的具体实现,依赖的是使用方或使用方上层定义的接口。这样在模块或类层面来看,使用方是不依赖任何具体实现方的,使用方也就不用关心谁来实现和如何实现,只需关心定义的规则即接口就可以,使用方是规则的主导方。

好莱坞原则,是指“Don't call me, I'll call you.”,意思是不要来找我,我会来找你。可以理解为我是主导方,不要告诉我如何做,而是我决定如何做,我会调用你。能比较形象的说明依赖倒置原则,所有依赖倒置原则又被称为好莱坞原则。

作业二:

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

依赖注入是Spring的一个核心概念,只需要在类属性上声明接口类型,并在上面加上自动注入注解,即可方便的实现依赖注入(框架内部实现跟课程关系不大,不作深入了)。当然,也可以通过主动查找的方法,从Spring上下文中去获取接口实现。由于Spring框架被普遍使用,依赖注入也就成了依赖倒置原则最常见的一种应用方式。

作业三:

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

作业三提示:cache 实现类中有四个方法,其中 put get delete 方法是需要暴露给应用程序的,rebuild 方法是需要暴露给系统进行远程调用的。如果将 rebuild 暴露给应用程序,应用程序可能会错误调用 rebuild 方法,导致 cache 服务失效。按照接口隔离原则:不应该强迫客户程序依赖它们不需要的方法。也就是说,应该使 cache 类实现两个接口,一个接口包含 get put delete 暴露给应用程序,一个接口包含 rebuild 暴露给系统远程调用。从而实现接口隔离,使应用程序看不到 rebuild 方法。

用户头像

Da

关注

还未添加个人签名 2018.08.09 加入

还未添加个人简介

评论

发布
暂无评论
第二周课后作业