1、接口隔离原则
接口隔离原则(Interface Segregation Principle)有两种定义:
1、Clients should not be forced to depend upon interfaces that they.
(客户端不应该依赖它不需要的接口)
2、The dependency of one class to another one should depend on the smallest possible interface.
(类间的依赖应该建立在最小接口的基础上)
2、接口隔离原则的标准
接口隔离原则并没有严格的规定标准,在实际的设计和开发时,需要控制接口的粒度,接口的粒度如果太细,系统中的接口将出现泛滥,相应的实现类将急剧膨胀,反而不宜维护;接口的粒度太粗,便违反了ISP原则,系统的灵活性将会降低,不宜维护和扩展。
3、接口隔离原则和单一职责原则的区别
3.1、接口隔离原则
强调设计时的架构分离,避免架构上的耦合和接口的污染
3.2、单一职责原则
强调实现时的职责内聚,不同的功能或职责在实现时不要封装在一起,尽量避免耦合
4、接口适配器
如果一个接口已经非常臃肿或已经被污染,且重构的成本和风险较大,那么可以使用抽象类来对接口进行一次转化。
如果接口本身便是抽象类,则可以使用我们前面学过的适配器模式进行处理。
如果大家掌握了设计模式的相关知识和设计原则的理论,那么重构的工作越早做越好,并且重构的工作和正常的开发迭代一样重要,而且重构是个持续的过程,在产品的生命周期应该持续进行。因为软件设计开发本身就是在复杂域工作,即使经验非常丰富的程序员,也不能保证一次设计出完美的方案。