知识卡片
接口拆分的底线是不违反单一职责原则
内容
应用[[接口隔离原则的定义与单一职责原则的区别]]时,”接口要小”不是无限细分——前提是不 违反单一职责原则。电话的IConnectionManager负责拨号挂机,虽正常/异常挂机逻辑不同,但 “建立/关闭连接”已是业务最小单元,硬拆会把协议、异常处理混入接口。发散:”接口要小”和 “切分位置要对”是两个独立约束,只满足前者可能切错地方。
参考来源
- 位置:《设计模式之禅(第2版)》第4章《接口隔离原则》(源文件:_epub-src/text/part0017.html)
- 结论依据:原文分析IConnectionManager接口是否该按正常挂机/异常挂机继续拆分,指出"通信的建立和关闭已经是最小的业务单位了,再细分下去就是对业务或是协议的拆分了",因此得出"根据接口隔离原则拆分接口时,首先必须满足单一职责原则"的结论。
- 原始内容:从业务逻辑上来讲,通信的建立和关闭已经是最小的业务单位了,再细分下去就是对业务或是协议(其他业务逻辑)的拆分了……根据接口隔离原则拆分接口时,首先必须满足单一职责原则。