标签:
客户端(模块)不应该依赖它不需要的接口(接口的纯粹性)
一个模块应该依赖它需要的接口,需要什么接口就提供什么接口,把不需要的接口剔除掉,那就需要对接口进行细化,保证接口的纯洁性
类间的依赖关系应该建立在最小的接口上
同样强调对接口的细化,那么接口作为抽象,在建立关系时才能保证纯洁性不会被无关的依赖破坏
接口细化
在不违反单一职责原则(SRP)下,要对接口尽量细化,违背SRP会导致单个模块暴露太多方法(接口中的方法都是publi),很多单一职能的内部接口被暴露。
接口高内聚
- 高内聚:提高接口、类、模块的处理能力,减少对外的交互。
- 接口是对外的承诺,承诺越少对系统的开发越有利,变更的风险也更小,同时也有利于降低成本。
模块服务定制
为了减少模块间的耦合,可以对模块间的类似功能分别定制服务(不共用接口,而是使用专门的接口)
定义一个场景,也就是你找工作的时候,简历的筛选,人具有特异性,如果接口的粒度过大,会导致可能无法让A的技能完整呈现,或者不得不吹牛而保证自己所有的技能都被涉及(因为粒度不够细化),也可能分的接口细度过于大,填简历和写一本书一样的成本,那哪里还会有人来应聘,去卖书不好吗~就不实现了,完全没有任何代码难度…….
标签:
原文地址:http://blog.csdn.net/qq_24451605/article/details/51374643