首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“在同一个包中混合类和接口”的做法不好吗?

“在同一个包中混合类和接口”的做法不好吗?
EN

Stack Overflow用户
提问于 2011-01-05 10:42:42
回答 4查看 2.9K关注 0票数 8

我发现了一些我以前从未听说过的东西,我不同意(到现在为止)。在一个(投了票而没有进一步评论)的answer中,我读到“为什么要将类和接口混合在同一个包中”。

因此,我想知道,是否有理由将Java中的接口和实现分开。

我知道,我们没有义务让所有的实现都在接口的包中,但是(有时)没有一个实现是明智的吗?

问候

麦克

[;-)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-05 10:51:43

将接口和实现保存在单独的包中的原因:

清晰的代码库--如果我们有一个带有接口的包,另一个包有实现(通常是一个something.impl名称空间),它看起来会更好,更整洁。代码结构显示/反映了您针对接口编写的代码。

访问修饰符-我们可以将包私有访问修饰符用于相关接口实现的某些包私有API。

库结构--也许有一天您决定为API (接口)和实现创建不同的库。那么,在不同的包中有接口和实现是非常好的。因此,您可以在不重构代码库的情况下更改构建。

票数 9
EN

Stack Overflow用户

发布于 2011-01-05 10:48:48

我同意org.life.java -我将有服务和底层的service.impl包,但总是这样的安排。

我不同意“不良做法”的措辞。那太强大了。

java.util集合API与此建议相冲突。我不想告诉约书亚·布洛赫他做了一件“糟糕的工作”。

票数 11
EN

Stack Overflow用户

发布于 2011-01-05 10:48:14

对于OSGi,几乎需要使用单独的包AFAIK,这样您就可以导出/导入API,而无需导出/导入实现。

但是,对于仅限于内部的接口,将所有内容保存在一个包中并不是一个问题。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4603152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档