> From: news [mailto:[EMAIL PROTECTED]] On Behalf Of Leo Simons
>
> The layers IMV:
>
> NON-FRAMEWORK UTILITY CODE (1)
> --------------------------------------
> CLIENT FRAMEWORK INTERFACES (2)
> --------------------------------------
> CONTAINER FRAMEWORK INTERFACES (3)
> --------------------------------------
> CLIENT FRAMEWORK UTILITY CODE (4)
> --------------------------------------
> CLIENT FRAMEWORK IMPLEMENTATION (5)
> --------------------------------------
> CONTAINER FRAMEWORK UTILITY CODE (6)
> --------------------------------------
> CONTAINER FRAMEWORK IMPLEMENTATION (7)
> --------------------------------------
> OTHER CODE (8)
>
>
> (4) & (5) should not depend on (3) but (3) shouldn't depend
> on (4) and
> (5) either. So not clean layering. (4)+(5) might be too
> closely tied in
> Real Life to seperate them. (8) should ideally tie only to
> (1)-(3), with
> the stuff needed from (4)-(7) provided at assembly/deploy time by (7).
>
> (1) -- logkit, commons-collections, etc
> (2) -- ServiceManager, Logger, Contextualizable, Parameters,
> Instrumentable, BlockContext, etc
> (3) -- Container, ServiceDescriptor, etc
> (4) -- SAXConfigurationBuilder
> (5) -- DefaultContext, DefaultServiceManager, AbstractLogEnabled,
> DefaultBlockContext, etc
> (6) -- excalibur-logger, baxter, altrmi, etc
> (7) -- phoenix, merlin, fortress, etc
> (8) -- sevak, cocoon, whatever
>
> The crucial difference with your setup is that (7) indeed can
> and should
> depend on lots of (5) and (6).
I thought the same when I read the top of your mail, actually. There
is a need for a split along
container-specific components
-----------------------------
containers
-----------------------------
container agnostic components
So you can use components to build a container. If a container is
dependent
on a component and that component is specific to the container, then the
component is, IMO, part of the container.
What I'd change in your layering is to move BlockContext to a
"container-specific
interfaces" layer, somewhere near (2.5), and DefaultBlockContext goes to
(5.5).
Maybe a stack isn't what we need. Maybe a directed graph is a better
description
of what may depend on what. I'll see if I can do some art with
dot/graphviz.
> Not saying I am against "doing it cleanly", just that it is
> something to
> tackle _after_ we get fortress out. You know, reduce the headache.
As you say, it is an [RT].
/LS
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]