写点什么

第二周架构师训练营作业

用户头像
我是谁
关注
发布于: 2020 年 09 月 27 日

作业一

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

“依赖倒置”是省略了主语和宾语,要理解这个概念首先要知道 是谁依赖谁,“正置的依赖”又是什么呢。我们习惯性的代码写法是按过程编写,上一过程引用下一个过程的代码,逐层来调用,也就是“上”依赖“下”。用房屋建筑比喻就是一楼依赖地基、二楼依赖一楼、三楼依赖二楼...如此反复。这样非常符合常人思考的习惯,但是这样最大的问题是下面任一过程的变化,会导致上面全部发生变化。为了解决这个问题,提出了上下依赖关系倒置的方式,让下依赖上,也就是先做好顶层设计,把框架设计好,下面的模块来具体实现设计的结构框架接口。有点像一个公司的组织架构设计,公司老总先设计一个总的组织架构,各部门按组织架构设计的职责来做具体的工作。

好莱坞原则就是“不要给我们打电话,我们会给你打电话(don‘t call us, we‘ll call you)”。潜台词就是你只做好你自己,有需要时我就叫你。这个行为模式和依赖倒置的行为模式完全一致。因为下级模块不知道自己要干什么,我就按职责做就好,自然上级模块按需求调用我。


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

作业二

本周主要学习了框架设计的五个原则

  • 开闭原则:扩展开发,修改关闭。原则的本身就是一层一层的抽象,设计模式均是采用这个设计原则进行的设计。

  • 依赖倒置原则:框架的整体设计采用面向接口编程的方式。设计方法是:先设计一个接口,下层代码实现接口,上层代码引用接口。

  • 里氏替换原则:任何调用父类的地方都可以直接被子类替换使用

  • 单一职责原则:一个类只干一件事

  • 接口分离原则:不应该强迫客户程序依赖它们不需要的方法


用户头像

我是谁

关注

还未添加个人签名 2017.12.04 加入

十五年电子政务老兵

评论

发布
暂无评论
第二周架构师训练营作业