我是一个团队的新手,该团队正在处理一个相当大的项目,其中包含许多组件和依赖项。对于每个组件,都有一个 interfaces
包,用于放置该组件的公开接口(interface)。这是一个好习惯吗?
我通常的做法是接口(interface)和实现放在同一个包中。
最佳答案
同时放置接口(interface)和实现是常见的地方,似乎没有问题。
以 Java API 为例——大多数类的接口(interface)及其实现都包含在同一个包中。
以 java.util
为例包装:
包含Set
等接口(interface), Map
, List
, 同时也有 HashSet
等实现, HashMap
和 ArrayList
.
此外,Javadocs 旨在在这些条件下正常工作,因为它在显示包的内容时将文档分为 Interfaces 和 Classes View 。
只为接口(interface)提供包实际上可能有点过分,除非有大量的接口(interface)。但是仅仅为了这样做而将接口(interface)分离到自己的包中听起来是不好的做法。
如果需要将接口(interface)的名称与实现区分开来,可以有一个命名约定以使接口(interface)更易于识别:
在接口(interface)名称前加上
I
. .NET 框架中的接口(interface)采用这种方法。很容易看出IList
是一个列表的接口(interface)。使用 -
able
后缀。 这种方法在 Java API 中很常见,例如Comparable
,Iterable
, 和Serializable
仅举几例。
关于java - 接口(interface)应该放在单独的包中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1004980/