> >>> 2) removal of release()
> 
> -1
> 
> Still don't understand how I can deallocate a scarse resource as soon as 
>    possible :-/
> How the hell can I release a scarse resource right away?
> If processor hardware threads would never release() and use only a 
> timeout, what processors would we have?  :-S
> 
> I agree that release is *not* compulsory for pooling, but I don't see 
> replacements possible for handling of scarse resources.

=) We remove pooling from the CM alltogether. That's "removal of
release() from the CM (and putting the pool (with release() in the CM)".

> >>> 3) replacement of Component with Object
> >>
> >> +1s
> 
> +1
> 
> Why did we use _Component_ in the first place?

beautification.

> How can we make an Object be sure that it's being treated by an Avalon 
> container?

we cannot (in a way expressed in java code). Is there a need?

> >>> 4) replacement of ComponentException with exists() for lookup()
> 
> -1
> 
> Exception throwing is a contract with the caller, that states that the 
> caller is responsible for the Exception.

I think it most likely that the exception will just be rethrown from
compose(), so it ends up with the caller again.

> >>> 5) addition of an _optional_ lookup() method that supports hints, to
> >>> enable smooth migration from ComponentSelector usage
> >>
> >> -1s
> > 
> >  From a pure framework perspective I'm totally in agreement with the 
> > above (irrespective of the pain and suffering I'm enduring with respect 
> > to the metainfo/metadata issues inflicted by an unmentionable 
> > "Australia" personality).  However, if we take into account ECM and the 
> > interest in facilitating a smooth migration path, I see only two 
> > alternative; either we provide a lookup( role, hint) in the framework 
> > (which I dislike in terms of the curent form being dicusssed), or (b) an 
> > extended CM is defintion at the excalibur level that provide a bridge 
> > from ECM to the emerging container models.
> 
> Now, this thing of /hints/ got me thinking.
> 
> As I said previously, it seems that:
> 
> Role: what
> Hint: how

...

> ROLE:             what it should do
> CHARACTERIZATION: how it should do it
> PREFERRED ACTOR:  hint about *who* should do it

nope.

The role determines what part a component plays in your application; it
is perfectly valid for the role to include information on the "how".

Tight coupling of role to interface name is merely a convenience (it
allows us to get away with easy casts).

> Well, this shows that hints are really not needed.

yup. Except we have to take into account an already existing CS.

> The point is that we need a sub-role.
> An interface (Role), tells me what to do, but does not specify how it 
> should be done.
> This is not something that can be forgotten, as in the SSL case.
> 
> I would deprecate hints in favor of sub-roles (or call them in a better 
> way, I'm no ace in names ;-)

strings are pretty free-form. It is easy to describe both a role "king
of all England" and a sub-role "mad" in a single string: "mad king of
all England".

- Leo



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

Reply via email to