网站建设论文 网站建设论文,透明房产网,三亚旅游攻略,wordpress仿微信音乐插件目录 定义接口隔离原则与单一职责原则示例 定义 
接口隔离原则#xff0c;全称为 Interface Segregation Principle#xff0c;缩写ISP。 
原始定义#xff1a;Clients should not be forced to depend upon interfaces that they don’t use。 翻译#xff1a; 不应该强行… 目录 定义接口隔离原则与单一职责原则示例 定义 
接口隔离原则全称为 Interface Segregation Principle缩写ISP。 
原始定义Clients should not be forced to depend upon interfaces that they don’t use。 翻译 不应该强行要求客户端依赖它们不用的接口。另一种定义The dependency of one class to another one should depend on the smallest possible interface。 翻译 类之间的依赖应该建立在最小的接口上面。 
总结 客户端需要什么功能就提供什么接口对于客户端不需要的接口不应该强行要求其依赖类之间的依赖应该建立在最小的接口上面这里最小的粒度取决于单一职责原则的划分。 
接口隔离原则与单一职责原则 
从功能上看有相似性但有区别如下 从原则约束的侧重点来说接口隔离原则更关注的是接口依赖程度的隔离更加关注接口的“高内聚”而单一职责原则更加注重的是接口职责的划分。  从接口的细化程度来说单一职责原则对接口的划分更加精细而接口隔离原则注重的是相同功能的接口的隔离。接口隔离里面的最小接口有时可以是多个单一职责的公共接口。  单一职责原则更加偏向对业务的约束接口隔离原则更加偏向设计架构的约束。这个应该好理解职责是根据业务功能来划分的所以单一原则更加偏向业务而接口隔离更多是为了“高内聚”偏向架构的设计。  
示例 
示例参考 文章 https://blog.csdn.net/u011385940/article/details/124137704 
接口隔离原则认为不能强迫用户去依赖那些他们不使用的接口。换句话说使用多个专门的接口比使用单一的总接口要好。做接口拆分时也要尽量满足单一职责原则。将外部依赖减到最少降低模块间的耦合。 
比如类A只需要使用方法1、方法3类B只需要使用方法2、方法4但在源代码层次上与所有方法形成依赖关系。这种依赖意味着我们对接口I的方法2修改即使不会影响A所依赖的方法1、方法3的功能也会导致它需要重新部署和编译。 改造后类A不需要用到方法2、方法4就可以选择不依赖它们。代码更加清晰接口职责更加明确。