面象对象设计6大原则之四:接口隔离原则

转载自 面象对象设计6大原则之四:接口隔离原则

面象对象设计6大原则之四:接口隔离原则


接口隔离原则ISP),The Interface Segregation Principle


定义

客户端不需要强迫依赖那些它们不需要的接口。


类与接口的依赖应该建议在最小的接口上,也就是说接口应该最小化,不能建立在一个庞大的接口之上,接口合理地按功能职能分成更细的几个单一的子接口。


如果一个接口定义并公布过多的方法,会导致所有的实现类必须要实现接口的方法,可能不同的业务场景不需要实现,所以接口隔离的原则就是只实现他们需要的接口。


像spring中的BeanFactory定义了bean的各种最基本的操作的方法,而BeanFactory下面又有3个扩展的子接口,扩展的子接口拥有父接口的全部方法并且拥有自己的独特的方法,我们可以按需要直接实现父接口或者实现子接口,这样就达到了接口隔离的原则,使接口最小化。


面象对象设计6大原则之四:接口隔离原则

看起来,接口隔离原则是不怎么难实现的原则,只要具备一点业务抽象能力的都可以做到,接口隔离原则在一方面也满足了单一职责原则。