[jsr294-modularity-eg] Nested superpackages
Bryan Atsatt
bryan.atsatt at oracle.com
Wed Apr 25 15:21:40 EDT 2007
I had the same reaction initially (use modularity for such isolation rather than nested superpackages), but there may be use cases where switching to a modularity solution isn't feasible/practical/desirable. I don't actually know of any myself, however...
// Bryan
________________________________
From: jsr294-modularity-eg-bounces at cs.oswego.edu [mailto:jsr294-modularity-eg-bounces at cs.oswego.edu] On Behalf Of Glyn Normington
Sent: Wednesday, April 25, 2007 2:23 AM
To: JSR 294 Expert Group
Subject: Re: [jsr294-modularity-eg] Nested superpackages
Yes, I can see the theoretical justification for a nested superpackage construct. I'm just struggling to understand its practical usefulness in large projects given that deployment modules give a clean way of dividing up a large project which prevents unexpected version clashes. I'd be interested in feedback from the community observing this list.
Glyn
Andreas Sterbenz <Andreas.Sterbenz at sun.com> wrote on 25/04/2007 07:42:14:
> Glyn Normington wrote:
> >
> > What do we really lose by deleting nested superpackages? In these
> > situations, my feeling is that "less is more" and deleting this feature
> > will strengthen the whole proposal.
>
> Not having nested superpackages would mean instead of a project having a
> top level superpackage and a nested superpackage for each subsystem, all
> classes of the project would be a member of the top level superpackage. It
> could hide implementation details from code outside the superpackage by
> declaring such public classes as non-exported, but it would not be
> possible to isolate subsystems within the project from each other.
>
> In particular, a class that is used by multiple packages of a subsystem
> would have to be a (non-exported) public class even if it is an
> implementation detail of the subsystem. That means it could accidentally
> be used by other subsystems within the project.
>
> In other words, we have the same problem we have today with package based
> access control: it is not possible to hide implementation details as
> desired. Just as we currently have that issue for projects too large to be
> appropriate for a single package, we would have the same issue for
> projects that are too large to be appropriate for a single superpackage.
>
> That means we would be addressing only part of the problem JSR 294 set out
> to solve. That is not the correct goal for us.
>
> We should keep in mind that the added conceptual weight of nested
> superpackages is very low. They are not a concept distinct from
> superpackages, just a recursive application of the same idea. Nor do they
> complicate live for developers who prefer to stay with a flat system and
> not to use nesting.
>
> Andreas.
>
> _______________________________________________
> jsr294-modularity-eg mailing list
> jsr294-modularity-eg at cs.oswego.edu
> http://cs.oswego.edu/mailman/listinfo/jsr294-modularity-eg
________________________________
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/attachments/20070425/3307e6b4/attachment.html
More information about the jsr294-modularity-eg
mailing list