放置接口和实现都是司空见惯的事,这似乎不是问题。
以Java API为例-大多数类在同一包中都包含了接口及其实现。
以
java.util包装为例:
它包含的接口,如
Set,
Map,
List,同时还具有实现,如
HashSet,
HashMap和
ArrayList。
此外,Javadocs被设计为在这些条件下可以很好地工作,因为当显示包的内容时,它将文档分为 接口 和 类 视图。
除非有大量的接口,否则仅为接口安装软件包实际上可能有点多余。但是仅仅为了这样做,将接口分成自己的程序包听起来是一种不好的做法。
如果有必要将接口名称与实现区别开来,则可以采用一种命名约定,以使接口更易于识别:
在接口名称前添加
I
。.NET框架中的接口采用了这种方法。可以很容易地说出这IList
是列表的接口。_使用-
able
后缀。_这种方法是Java API中经常看到,比如Comparable
,Iterable
和Serializable
仅举几例。


![接口应该放在单独的包装中吗?[关闭] 接口应该放在单独的包装中吗?[关闭]](http://www.mshxw.com/aiimages/31/508179.png)
