架构设计学习笔记 2
依赖倒置原则
DIP - Dependency Inversion Principle
高层模块不能依赖低层模块,而是大家都依赖于抽象;
抽象不能依赖实现,而是实现依赖抽象;
正确方式
高层模块定义接口,供低层模块去实现
而不是低层实现完了,抽象接口供高层调用
高层决定低层,高层被重用
高层调用抽象interface,低层实现interface
框架设计的核心
好莱坞原则
Don't call me, I'll call you.
框架调用应用程序但不依赖应用,而应用程序不会去调用框架。
框架定义接口抽象,也依赖接口抽象进行设计
框架就是DIP中的高层模块
单一职责原则
SRP - Single Responsibility Principle
Cohesion内聚性原则
常提起的目标,高内聚,低耦合
如何设计一个类?
只能有一种原因才能促使类发生改变
区分类的方法:分清职责
职责的定义:变化的原因
接口分离原则
ISP - Interface Segregation Principle
不应该强迫客户程序依赖它们不需要的方法
也和内聚性有关
如何设计一个接口
从使用者的需要出发,强调不要让使用者看到他们不需要的方法。
技术手段
适配器模式
组合转换接口实现
多重继承实现多个接口;
版权声明: 本文为 InfoQ 作者【Arthur】的原创文章。
原文链接:【http://xie.infoq.cn/article/4d35a494015f836696ec4fcb5】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论