On Thursday 20 June 2002 07:40 pm, Stefano Mazzocchi wrote:
> I'll tell you the whole truth: the very first Avalon design didn't have
> components at all.

<snip-avalon-history/>

Wow! Thats for sharing that!

> I come back a while after and:
>
>  1) blocks are deprecated

Only the Block marker interface in Phoenix (since marker interfaces were 
declared bad). The notion of a Block as you describe still lives on in 
Phoenix.

>  2) components are becoming blocks

Sure are!

> It's evident why we wan't find agreement on how to lookup components:
>
>  lookup(role)
>
> returns a Block, while
>
>  lookup(role, hint)
>
> returns a Component

Perhaps we need a BlockManager and ComponentManager interface to separate the 
two?

interface BlockManager
{
  Object lookup( String role );
}

interface ComponentManager
{
  Object lookup( String role );
  Object lookup( String role, Object hint );
}

> *THIS* is, IMO, the biggest design mistake done during my absence: you
> merged two different things into one, without understanding that they
> were totally different and they only thing they shared was
> avalon-lifecycle awareness.

The reasons for separation weren't recorded very visibly (if at all). Thus 
the welcomed return of the "project elders" :)

-pete

-- 
peter royal -> [EMAIL PROTECTED]

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

Reply via email to