架构师训练营 0 期第二周
作业
1、请描述什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?
依赖倒置原则:高层模块不应该依赖低层模块,而是都依赖抽象;抽象不应该依赖实现;实现应该依赖抽象。
根据依赖倒置原则,所有组件模块都依赖一个高层次的抽象,底层模块可以实现这个抽象来扩展高层次模块,在框架层面体现就是底层框架对应用的调用,掌握主动权,类似好莱坞原则。
2、请描述一个你熟悉的框架,是如何实现依赖倒置原则的。
Laravel的缓存模块,高层模块依赖Cache抽象,底层模块不同driver的实现也依赖这个抽象。
3、请用接口隔离原则优化 Cache 类的设计,画出优化后的类图。
总结
OOD原则
开闭原则(OCP)
Open Closed Principle:对扩展开放,对修改关闭。软件实体(类、模块、函数)应尽量在不修改原有代码的情况下进行扩展。抽象是开闭原则的关键。
依赖倒置原则(DIP)
Dependency Inversion Principle:高层模块不应该依赖低层模块,而是都依赖抽象;抽象不应该依赖实现;实现应该依赖抽象。
里氏代换原则(LSP)
Liskov Substitution Principle:所有引用基类的地方必须能透明地使用其子类的对象。
单一职责原则(SRP)
Single Responsibility Principle:一个类只负责一项职责。不要存在多于一个导致类变更的原因。
接口分离原则(ISP)
Interface Segregation Principle:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。尽量细化接口,接口中的方法尽量少。
优秀的程序员/架构师欢迎需求变更
评论