2012-11-19 108 views
0

接口隔离原理旨在通过通过新的更小的接口拆分内聚特性组来避免在组件之间创建无用的依赖关系。接口隔离避免Java中的重新编译

坚持的一个重要好处是,当组件紧密结合不必要的胖接口部分时,强制删除不必要的编译时间。

但我不知道这是否受益真的存在的Java ...

事实上,在Java中,违背了C++的世界,例如,只要一使用的方法不改变它的签名,客户端组件即使依赖模块(接口一般)增长,也可以保持不变,避免重新编译后者。

那么,编译耦合的好处在Java中真的很重要(甚至可能不存在)?

+3

你说得对,Java在依赖性改变的情况下更具延展性。这源于类文件之间固有的松散耦合。 –

回答

0

如果您指的是整个接口的成员签名和数量,那么是的 - 只要接口是常量并且JVM/Java版本不冲突,就不需要重新编译。

如果它将更多的方法添加到接口,则没有。然而,锡兰 - 一种类似Java的新语言 - 正试图通过部分实现和适配器的接口来实现类似的功能:(页面底部) http://planet.jboss.org/post/new_approach_to_introduction

+1

我也不同意,Java规范,章节二进制兼容性说:“添加新的字段,方法或构造函数到现有的类或接口”不会破坏旧的组件。 http://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html – Mik378