On Tue, Apr 6, 2010 at 7:50 PM, Dan Allen <dan.j.allen(a)gmail.com> wrote:
As promised, I have put together a page detailing the anatomy of a
module
project in Seam 3. Please consider this a draft document and feel free to
provide feedback if there's something that doesn't seem agreeable to you.
Also, if you think there is an important detail missing, or an inconsistency
appears over time, please let us know.
http://seamframework.org/Seam3/ModuleAnatomy
Keep in mind that there are many different ways we could structure the
modules. What is important is that the structure is reasonable and that it
is consistent across modules. Contributors should be able to comfortable
move between modules and be familiar with how the code is setup.
For those of you who haven't clicked through, we are suggesting that the
main code go in the folder "impl" rather than "core".
Action item: rename core folder to impl
This allows room for introducing of an "api" folder to hold the public APIs.
We want to be good about splitting the API code (which the developer's
application will link to) and the implementation code, which is all the
behind the scenes magic that the developer should never see or care about. I
explain on the page how this structure accommodates the creation of proper
public API JavaDocs.
Case in point. The beloved StatusMessages component from Seam 2 is an API
class. Whereas an CDI Extension implementation is definitely an
implementation class.
-Dan
--
Dan Allen
Senior Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597
http://mojavelinux.com
http://mojavelinux.com/seaminaction
http://www.google.com/profiles/dan.j.allen