包名称 - impl v internal

时间:2011-02-04 23:19:42

标签: java

在我挖掘Java API的过程中,我遇到了impl和内部包。到目前为止,我从未真正考虑过差异 - 正如所有企业级Java应用程序一样,我认为它们只是意味着“在这里实际实现;您(API用户)应该真正使用该界面。离开。”

围绕Stack Overflow进行一些挖掘似乎表明内部包至少可以有some security placed around it

那么,有什么区别?我不认为这是一个品味问题,因为我已经看到了两者的API。

1 个答案:

答案 0 :(得分:2)

包名称对运行时行为没有任何影响。这只是一个品味问题。一些模块化系统(如OSGi)可以让您在清单文件中对可见内容与下游模块进行更严格的控制,但这一切都是通过命名约定明确完成的。至少在OSGi圈子中,“内部”是关于“impl”的既定命名约定。从字面上看,它比“impl”更通用,因此通过更广泛适用的扩展...模块外部的所有代码都不应该触及。