如何在大型Java项目中管理(=限制)可见性?
更具体地说: 鉴于功能“Big-A”,“Big-B”,一些子功能“Little-A-1”,“Little-A-2”和一些子子功能“Tiny-A-1-I”和“Tiny-A-1-II”。 “Little-A- ”功能是“Big-A”的子功能,而“Tiny-A-1 - ”功能是“Little-A-1”的子功能。 “Little-A-1”中有类和方法,其封闭特征“Big-A”及其所有(子)子特征需要可见,但不适用于“Big-B”。其他类和方法应仅对“Little-A-1”及其子功能可见,但不适用于“Big-A”而不适用于“Little-A-2”。当然,“Tiny-A-1-I”也有类和方法,只能在“Tiny-A-1-I”中看到,但不能在“Tiny-A-1-II”中看到,或者只能在“Little-A-1”及其子功能,但不适用于“Little-A-2”等。
简而言之:我有一个很大的功能层次结构,需要限制该层次结构部分的可见性。如果内置的可见性不够强大,那么如何在Java中完成呢?
是否有可用于此的Java内置功能?还是任何外部项目? (或者至少是一个Eclipse插件?)我看了Annotation处理器,但看起来它们也不够强大,因为它们无法访问实际的代码。只有它的静态结构。鉴于Java用于许多大型项目,我想必须有一些解决方案来解决这个问题。我可能不是唯一一个遇到这个问题的人。
理想的解决方案允许我按功能逐步应用它,而不是要求我必须一次调整所有代码,因为这对我来说是不可能的。 (缺乏时间和资源。)并且集成到Eclipse中(在访问不可见元素时显示错误)也会很好。 : - )