我正在努力打包供公众使用的 API。因此,我试图限制仅向那些我希望公开且可支持的方法公开的方法。当然,在此之下还有许多受限的访问方法。
问题是我有很多内部代码需要访问这些受限制的方法而不将这些方法公开。这会产生两个问题:
- 我无法创建接口
类之间的通信是这样的
将使这些成为我的内部方法
民众。
- 我无法访问受保护或默认的
方法除非我把大部分
我的内部课程相同
包裹。
因此,我在完全隔离的包中拥有大约 70 或 80 个内部类,但具有过于宽松的访问修饰符。您是否会说单个包是两害相权取其轻,还是有更好的方法能够掩盖我的内部方法,同时保留更细粒度的包?
我有兴趣在这里找到最佳实践。
我已经知道了This
您的问题有两种解决方案,不涉及将所有类保留在同一个包中。
第一个是使用 Friend Accessor/好友套餐(实用 API 设计,Tulach 2008)中描述的模式。
第二种是使用OSGi。有一篇文章here解释 OSGi 如何实现这一点。
相关问题:1, 2, 3, and 4.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)