架构师训练营 - 第二周
作业一:
1. 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
答:依赖倒置原则的含义是:
1)高层模块不能依赖于低层模块,而是两者都依赖抽象。
2)抽象不能依赖实现,而是实现依赖抽象。
好莱坞原则是:Don't call me, I'll call you.
依赖倒置原则要求的框架和应用之间的关系是:应用不应该调用框架,框架调用应用。正好对应好莱坞原则。
2.请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
作业二:根据当周学习情况,完成一篇学习总结
1.面向对象
面向对象的四大特性:封装、抽象、多态、继承。
对象具有状态、行为、表示。
面向对象设计的目的:强内聚、低耦合,使系统更加易扩展、更强壮、可移植、更简单。
面向对象的设计原则:原则更多是一种指导,独立于编程语言。
2.设计模式
定义:模式是一种解决某一问题的通用解决方案,中立于语言,贯彻了设计原则。
基本设计模式共计 23 种,分为三大类:创建模式,行为模式,结构模式。
可以根据领域进一步细分,如:并发编程模式,JAVAEE 模式。
3.框架:
框架是用来实现某一应用的结构性程序,是对某一类架构方案可复用的设计与实现。
框架与工具:框架调用应用程序代码,应用程序代码调用工具提升效率。架构师用框架保证架构落地,架构师用工具提高开发效率。
4.开闭原则
对扩展是开放的,对于更改是封闭的。
比如我们需要扩展一个新的功能,不需要修改原有的实现,就能实现对功能的扩展。
实现不修改而扩展关键就是抽象。
5.依赖倒置原则
1.上层模块不依赖于下层模块,上层定义自己接口契约,下层根据上层的接口契约定于具体的实现。
2.上层模块不依赖于具体实现,依赖自己定义的抽象。
3.上层决定了低层的实现,这样可以解耦,让上层可以被复用。
6.里氏替换原则
凡是使用基类的地方,也一定使用于其子类。
java 角度看:子类一定得拥有基类的整个接口,子类的访问控制不能比基类更严格。
7.单一职责原则:
又被称为内聚性原则,一个模块组成元素之间的功能相关性。简单的说,一个类只能有一个引起他变化的原因。
8.接口分离原则:
不应该强迫客户程序依赖他们不需要的方法。
评论