Bernd Fondermann ha scritto:
On Mon, Sep 1, 2008 at 23:58, Robert Burrell Donkin
<[EMAIL PROTECTED]> wrote:
On Mon, Sep 1, 2008 at 2:56 PM, Stefano Bagnara <[EMAIL PROTECTED]> wrote:
Robert Burrell Donkin ha scritto:
IMHO JAMES specific mailets are an anti-pattern. we need to work
towards decoupling minimal SPIs for mailets from the large APIs used
internally by JAMES. i prefer to think about mailet loaders and
processor assemblers indepedently. avalon is not a good match for this
problem. more modern IoC containers like pico or spring as *much*
better.

+1

The underlying question is: What dependencies do mailets need? There
is not a general answer to this question!
Some mailets need only the mail itself and maybe some abstract
(just-a-name) "target" processor. Some might need access to services
through a generalizable interface, independent of James. Some even
might need James-specific services.
If we provide a solution to the first case, that'd be a pretty big
step forward, already.
The third case we already have solved :-)
The second one is the toughest, because it needs a lot of knowlegde
about how mailets could want to interact with their container. Every
interaction is actually executed by looking up a container service and
making calls to its service interface. So we could work towards a
solution by defining the different dependent services we find in
existing mailets and define interfaces for every one of them. So we
avoid the need for having one swiss knife solution for everything and
concentrate on the different aspects of mailet-container dependency
one-by-one.

Here is a 2 years old overview, but we didn't change much in the code so it is probably current:
http://markmail.org/message/ktrgsga4enenhy4z

Stefano

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to