作业

用户头像
飞雪
关注
发布于: 2020 年 06 月 14 日



作业一:

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

  • 答:依赖倒置原则即SOLID中的DIP,是指高层不应该依赖低层,推荐面向接口编程,应该依赖“不变”否则依赖就是不稳定的。而具体的业务领域的规则或事物的本质往往是抽象或者不变的。以排电影类比之,即认为剧本(业务)里的角色关系是一定的,角色由谁来扮演是次要的低级别的,只有不依赖某个大牌明星,对部电影(系统)才更具有灵活性。

  • 依赖倒置乍看起来似乎是反直觉的,但是以好莱坞原则类比中却是协作者之间的一种高效率的协作机制。在遵守合作契约的形况下(Dont call me,I will call you!)双方的职责更加清晰,是关注点分离的一种手段,也是建立高级合作机制的基础。

作业二:

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

  • 答:Spring MVC中的 service 层和DAO层中的接口层和实现层便是DIP的很好应用即客户端调用抽象接口,然后具体实现类再实现接口

作业三:

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

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

  • 答:遵照ISP接口隔离原则提炼出两个接口,即CacheAble接口包含put get delete 和DynamicConfig接口 rebuild



用户头像

飞雪

关注

那少年 2017.10.31 加入

一入研发深似海, 但求一叶孤舟行。 若问前路无知己, 天亮不负少年行

评论

发布
暂无评论
作业