JAVA的设计原则

JAVA的设计原则

 

 

1.    接口隔离原则(ISPInterface 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。)

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

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

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值