Peter Donald wrote:

> On Fri, 14 Dec 2001 07:06, Berin Loritsch wrote:
> 
>>So if the "Profilable" interface was changed to add the setName(), we could
>>implement something like this:
>>
>>interface Profilable {
>>      void setName( String name );
>>      // ..... skip other already declared methods .....
>>}
>>
> ...snip...
> 
>>What are your feelings on the subject?
>>
> 
> I really dislike any notion of a public setName() method. Perhaps it would be 
> better to allow points to create their own children. If that is not viable 
> for whatever reason then you could make constructors look like
> 
> 
> class MyPoint
> {
>   MyPoint( Point parent, String myName )
>   {
>     super( parent, myName );
>   }
> }


The problem arrizes with how do we determine what the parent ProfilePoint is?
It does not make sense to have a Pool's max active ProfilePoint be the parent
of an ObjectFactory's number of created instances ProfilePoint.  They represent
something completely unique.

If this is going to scale, we *have* to make it happen at the Profilable level.
Remember, this is IoC, so a child Profilable is not going to have access to the
Parent's ProfilePoints at all.

We have to come up with a solution where the name is given by the parent to the
child, like everything else.


> and the name would be set via 
> 
> parent.getName() + myName
> 
> however the method getName() would be protected, package or private access 
> (depending on what we could get away with) and done in the case class.


I don't like this, as it is Subversion of Control.  A child should not have
a direct reference to it's parent.  The name has to come from being assigned,
or we trust the Component to use proper "divination" to generate a meaningful
name.




-- 

"They that give up essential liberty to obtain a little temporary safety
  deserve neither liberty nor safety."
                 - Benjamin Franklin


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

Reply via email to