【发布时间】:2011-02-25 10:10:49
【问题描述】:
我正在努力打包一个供公众使用的 API。因此,我试图限制只向那些我希望公开和可支持的方法公开。当然,在这之下还有许多有限的访问方法。
问题是我有很多内部代码需要访问这些受限制的方法,而不会将这些方法公开。这会产生两个问题:
- 我无法创建接口 像这样在类之间进行通信 将使这些成为我的内部方法 公开。
- 我无法访问受保护或默认 方法,除非我把大部分 我的内部课程在同一 包。
所以,我在完全隔离的包中有大约 70 或 80 个内部类,但访问修饰符过于宽松。你会说单个包是两害相权取其轻,还是有更好的方法来掩盖我的内部方法,同时保持更细化的包?
我很想在这里找到最佳实践。
我已经知道This
【问题讨论】:
-
我认为这个问题有点主观:我个人不喜欢导致内部组织不佳的设计决策,例如您的所有类合一包装案例。但是现在还没有想到做这些事情的正确方法。