写点什么

架构师训练营 0 期第二周

用户头像
Blink
关注
发布于: 2020 年 06 月 18 日

作业

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:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。尽量细化接口,接口中的方法尽量少。



优秀的程序员/架构师欢迎需求变更



用户头像

Blink

关注

还未添加个人签名 2017.02.09 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 0 期第二周