Well, since none of your example changes jump out and scream
I am a much clearer packaging model, I would say this is a
matter of style and as such, not really that important.

xxxxxxxxxxxxxxxxxxxxxxxx
Scott Stark
Chief Technology Officer
JBoss Group, LLC
xxxxxxxxxxxxxxxxxxxxxxxx
----- Original Message -----
From: "Jason Dillon" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, February 07, 2002 5:33 PM
Subject: [JBoss-dev] Package organization


> I have been putting off writing this email for a while... mostly because I
> am lazy.
>
> Any ways, I am concerned about the current trend for packaging which is
> being employed in JBoss.  By packaging I mean the way in which we organize
> our classes into packages.  I believe the current "package by type" scheme
> is a poor choice for large (and rapidly growing) projects.
>
> By "package by type", I mean that we are organizing different functional
> components by the type of "thing" it is, rather by the functional group in
> which it belongs.
>
> How about an example, that always seems to explain this issue.  At one
> company I used to work at (which I will leave unnamed to protect the
> innocent... or rather the stupid... or both), they were building a webapp
> based on servlets.  These servlets talked to databases via objects
(written
> poorly and completely non-j2ee like).  The app was big and had lots of
> different functions, but there staff of "senior" engineers (degrees and
> all) chose to organize *every* servlet and *every* db object into two
> packages: some.dumb.company.servlets and some.dumb.company.db.
>
> Needless to say this approach is not very manageable.  Imagine you are a
> new employee trying to get up to speed fast on one function of the
> system.  There isn't any good documentation or class naming scheme to tell
> which classes are for what and all of your coworkers are too busy making
> sense out of the spaghetti they have written (poorly) to be of much help.
>
> It would have been much better if they had packaged by function, such that
> all of the login servlets got a package, and then all of the user
> management servlets got another and so on.
>
> * * *
>
> I would like to avoid this for JBoss.  Granted we are not in the same
> situation as the folks I mentioned above (we actually know how to write
> Java code), but I think we have overlooked some of the organization
> required to make a large software project truly effective and easy to
manage.
>
> One example of this is the org.jboss.metadata package.  There is metadata
> classes from all aspects of the system here, rather than closer to the
> functional groups in which they are used.  This package only really makes
> sense if there are helper, abstract or type classes which are used by
> cocreate metadata implementations.
>
> Another is the org.jboss.deployment package.  This guy has j2ee stuff, sar
> stuff and more.  Why not put those in the packages which deal with those
> areas?  Leaving this again for abstract impls and such.
>
> Lastly take a look at the ejb proxy's.  This is a different case, but
still
> a little backwards (IMHO).  org.jboss.proxy.ejb, contains the ejb
container
> proxies.  This is a sub-package inside of the package by type
> methodology.  It would make more sense to put them into
> org.jboss.ejb.proxy, and leave org.jboss.proxy for abstracts and the like.
>
> Any ways, I wanted to get this off my chest.  I hope that some (or most)
of
> you understand what I am trying to get at... avoiding the spaghetti
(tastes
> good, but I don't want to clean it up off the floor).  If we spend a
little
> effort in optimizing the organization of our codebase, it will be easier
to
> manage, maintain and much easier for newbies/learners to get up to speed
> faster to help make the system even better.
>
> --jason
>
>
> _______________________________________________
> Jboss-development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
>


_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to