« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
| 公告 |
暂无公告... |
Blog信息 |
blog名称: 日志总数:8 评论数量:19 留言数量:0 访问次数:69855 建立时间:2006年8月1日 |

| |
[Java]ISP :接口隔离原则 读书笔记
爱睡觉的猫 发表于 2006/8/11 14:48:17 |
接口隔离原则(ISP)讲的是:使用多个专门的接口比使用单个接口要好的多。
人们所说的接口往往指的是两种不同的东西:一种是JAVA中有严格定义的Interface结构,比如java.lang.Runnable就是一个java接口;另一种就是一个类型所具有的方法特征的集合,也称作“接口”,但这仅是一种逻辑上的抽象。
一个接口相当于剧本中的一个角色,而此角色有哪个演员来扮演相当于接口的实现。因此,一个接口应当简单地代表一个角色,而不是多个角色。如果系统涉及到多个角色的话,那么每一个角色都应该由一个特定的接口代表。
如果将接口理解成狭义的java 接口,这样一来,ISP讲的就是为同一个角色提供宽窄不一的接口,以对付不同的客户端。这种办法在服务行业中叫做定制服务。也就是说我们只提供给客户端需要的方法。一个设计师往往想节省接口的数目而讲看上去类似的接口合并,实际上这是一种错误的做法,提供给客户多余的方法,使接口变得臃肿,造成接口污染。
定制化服务设计原则的好处在于:这样作很整洁;有利于系统的维护,向客户端提供public接口是一种承诺,我们应尽量减少这种承诺。将接口隔离出来,有利于降低成本。 |
|
|