写点什么

架构训练营第二周作业

用户头像
一期一会
关注
发布于: 2020 年 11 月 01 日
架构训练营第二周作业

作业一:

1. 作业内容

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

解答

依赖倒置原则说的是,为了设计一个重用性高,灵活性好的系统,应该设计一个高层模块不依赖低层模块(实现)、同时低层模块也不依赖于高层模块,二者同时依赖抽象的系统。抽象一般体现为接口,而此接口属于高层模块,即由高层模块定义接口。低层模块需要实现此接口。



好莱坞原则原话是“don't call us, we'll call you"。意思是在好莱坞,把简历递交给演艺公司后就只有回家等待。 由演艺公司对整个娱乐项的完全控制,演员只能被动式的接受公司的差使,在需要的环节中,完成自己的演出。

这句话用在依赖倒置这里很形象。高层模块因为是”高层“,可以类比为演艺公司;相应的低层模块就是演员了。根据依赖倒置原则,一个低层接口只能根据高层接口定义好的接口进行实现。正如好莱坞原则规定的,演员只能被动的听从公司的差使完成演出一样。所以有时候依赖倒置原则又被称为好莱坞原则。

2. 作业内容

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

解答

原始类图:

put get delete 方法是需要暴露给应用程序的,rebuild 方法是需要暴露给系统进行远程调用的。因此将方法拆解为两个组,分别放到到两个接口中,实现接口隔离。

拆解后类图:



作业二:

根据当周学习情况,完成一篇学习总结

解答

本周内容主要讲了 SOLID 原则,是平时设计的时候要遵循的基本原则

s -> single responsibility principle 单一职责原则

o -> open close principle 开闭原则

l -> liskov substitution principle 里式替换原则

i -> interface segregation principle 接口隔离原则

d -> dependency inversion principle 依赖倒置原则



知识总结如下图:





个人心得:

早就听说过SOLID原则。但是读书都是云里雾里。李智慧老师对于五个原则的举例对我的理解非常有帮助!助教老师也帮助了我,让我画思维导图。本周作业比起上周,感觉更加靠谱。这也是自己有了进步的体现。往下的学习,我十分期待能有更大的进步!

发布于: 2020 年 11 月 01 日阅读数: 55
用户头像

一期一会

关注

还未添加个人签名 2018.01.08 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
坚持坚持~
2020 年 11 月 08 日 16:41
回复
没有更多了
架构训练营第二周作业