Should my internal API classes be all in one package?

Posted by Chris on Stack Overflow See other posts from Stack Overflow or by Chris
Published on 2010-05-29T07:12:55Z Indexed on 2010/05/29 7:22 UTC
Read the original article Hit count: 273

Filed under:
|
|

I'm hard at work packaging up an API for public consumption. As such I'm trying to limit the methods that are exposed to only those that I wish to be public and supportable. Underneath this of course there are a multitude of limited access methods.

The trouble is that I have a lot of internal code that needs to access these restricted methods without making those methods public. This creates two issues:

  • I can't create interfaces to communicate between classes as this would make these my internal methods public.
  • I can't access protected or default methods unless I put the majority of my internal classes in the same package.

So, I have around 70 or 80 internal classes in cleanly segregated packages BUT with overly permissive access modifiers. Would you say that a single package is the lesser of two evils or is there a better way to be able to mask my internal methods whilst keeping more granular packages?

I'd be interested to find out the best practice here.

I'm already aware of This

© Stack Overflow or respective owner

Related posts about java

Related posts about best-practices