JAVA的设计原则

王朝学院·作者佚名  2009-12-20  
宽屏版  字体: |||超大  

1. 接口隔离原则(ISP: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”

一个类对另外一个类的依赖性应当是建立在最小的接口上的。(从客户端)

接口与角色:将接口理解为一个类所提供的所有方法的特征集合。如此,接口的划分,就带来了类型的划分。所以一个接口应该只表示一种角色,而不是担任多个角色。

接口污染(Interface Contamination):所谓接口污染就是为接口添加了不必要的职责。接口污染会带来维护和重用方面的问题,最常见的问题是我们为了重用被污染的接口,被迫实现并维护不必要的方法。因此,我们必须分离客户程序,分离客户程序就是分离接口。

分离接口的实现方法:

分离接口的方式一般分为两种:

1) 使用委托分离接口。(Separation through Delegation)

就把请求委托给别的接口的实现类来完成需要的职责,就是适配器模式(Adapter)。

2) 使用多重继承分离接口。(Separation through Multiple Inheritance。)

该方法通过实现多个接口来完成需要的职责。

两种方式各有优缺点,通常我们应该先考虑后一个方案,如果涉及到类型转换时则选择前一个方案。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/scelong/archive/2009/12/18/5031030.aspx

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有