架构师课程 --week 2-- 课后作业

发布于: 刚刚
架构师课程 --week 2--课后作业

作业一:

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

Dependency Inversion Principle:

High-level modules shouldn’t depend on low-level modules. Both modules should depend on abstractions. In addition, abstractions shouldn’t depend on details. Details depend on abstractions.

Hollywood Principle:

Don't call us, we'll call you

依赖倒置原则用来指导框架层面的设计,规定了框架中模块间的从属原则。而框架本身用于控制程序的流程,而不是被程序调用。就如好莱坞挑选演员的时候选择Fit自己的演员。

作业二:

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

以MVC框架为例,所有自己创建的Controller类通过继承抽象类Controller,我们在使用MVC框架编写主程序的时候并非直接调用路由查找,非托管资源内存释放,网页登录验证等一系列框架包涵的功能,而是通过继承抽象类Controller去实现。这就是依赖倒置原则中所说的“无论高级模块(此处的主程序)还是低级模块(框架中包涵的各种单一功能)应该依赖于抽象类”。

抽象类Controller继承了各种丰富的接口功能,这就是依赖倒置原则中所说的“抽象类不依赖于细节”,“细节(主程序)依赖于抽象类”

作业三:

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

学习总结:

本周内容大纲:

  1. SOLID设计原则:

  • Single Responsibility Principle

  • Open/Closed Principle

  • Liskov Substitution Principle

  • Interface Segregation Principle

  • Dependency Inversion Principle

  1. 框架核心:Hollywood Principle

发布于: 刚刚 阅读数: 3
用户头像

莫莫大人

关注

还未添加个人签名 2018.07.31 加入

还未添加个人简介

评论

发布
暂无评论
架构师课程 --week 2--课后作业