架构师第二周
框架VS工具
框架调用应用程序代码
应用程序代码调用工具
框架是架构落地的保障
开闭原则(OCP)
关键是抽象
抽象后用多态实现
不修改软件实体
依赖倒置原则(DIP)
高层模块不能依赖底层模块, 大家都依赖于抽象
抽象不能依赖实现, 而是实现依赖抽象
依赖倒置原则是框架设计核心原则
依赖倒置一般用策略模式解决
举例:
DIP倒置了什么
模块或包的依赖关系
开发顺序和职责 (组织结构的改变, 分工的关系)
里式替换原则(LSP)
子类型必须能替换基类
子类有更大的访问控制
子类的 契约 不能比基类更严格
如何解决不符合LSP的代码
提取共性, 放到基类中
改为组合 (使用 适配器 的方式)
单一职责原则(SRP)
一个类只有一个会引起变化的点
接口分离原则(ISP)
不强迫客户依赖不需要的方法
不把这些方法暴露出来
SRP要做到很困难, 某些场景下无法分隔, 使用ISP接口隔离可以解决暴露出不必要方法的问题
评论