架构师训练营 - 作业 2
1. 请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置原则
定义:高层模块不应该依赖低层模块,二者都应该依赖于抽象
抽象不应该依赖于实现,实现应该依赖于抽象
理解:DIP 倒置的是依赖的顺序,之前是直接依赖实现,现在依赖抽象接口,等你需要的时候再注入进来具体的实现。这也就是写代码经常用的依赖注入(DI)。
比如:最近长胖了,你需要减肥,然后你减肥的方法可以是跑步,跳绳,拳击等等,无论你选择哪一个,最终结果是你减肥成功了(😀)。
依赖倒置原则的核心思想就是面向接口编程。
好莱坞原则
定义:Don't call me, I'll call you.
理解:演艺公司寻找演员,而不是演员寻找演艺公司,当拍电影时,这部电影需要某个类型的角色,然后演艺公司就去寻找一个适合的某个角色的演员来演
依赖倒置原则 = 好莱坞原则
结论:都是现在要某一类人或物,然后获得这类人或物的一个具体体现。
2. 请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
dotnet core 的依赖倒置
dotnet core 中的依赖倒置是使用IOC容器来实现的。
先声明一个接口,然后实现一个实现类,最后在IOC容器中在注入这个接口和实现的关系,
最后在在使用方使用接口来处理具体方法。
3. 请用接口隔离原则优化Cache类的设计,画出优化后的类图
需求:cache类实现4共方法:get、put、delete、reBuild。
客户端只能调用get、put、delete,不能调用rebuild,不然会导致功能异常
后台远程可以调用rebuild方法,以重新配置cache类
评论