我正在编写一个包含 25 个类的库。其中 4-5 个是公共 api。其他类目前是包私有的。我的问题是我想将它们安排到他们自己的包中,但在当前设置下这是不可能的,因为这样这些类将无法看到彼此。
那么我应该让它们保持原样而不进行安排还是全部制作public
好以便我可以重新安排它们?我认为后者不是一个好的解决方案,因为很多类并不打算由最终用户使用,但我不喜欢它们只是转储到根包中,因为它只会增加大小。
java中有没有一种惯用的方法来解决这个问题?
例子:
我有一个名为HexagonalGridBuilder
. 它是公开的并且是 api 的一部分。同样代表HexagonOrientation
which 是一个枚举并保存 (FLAT_TOP
和POINTY_TOP
)的值,HexagonalGridLayout
它也是一个枚举并保存六边形网格类型的值,如RECTANGULAR
和TRIANGULAR
。最终用户可以使用这些枚举来参数化返回一个接口的HexagonalGridBuilder
对象。HexagonalGrid
所有的实现类都是包私有的,比如HexagonalGridImpl
or TriangularGridLayoutStrategy
。public
由于我描述的这个包装问题,我无法将这些类移动到不同的包中而不将它们全部制作。