[Zope3-dev] More name game suggestions

John D. Heintz jheintz@isogen.com
10 Dec 2001 09:55:39 -0600


[I've been struggling to keep up with the mailing list and have only
glanced at the wiki, so if I'm off base then please disregard...]

Instead of focussing on naming the different types of components,
perhaps it would be clearer to name the different ways of getting to
components.

For example, instead of naming Service and Utility first and only
peripherally describing how to actually get to them, start with all
Components and "acquired factory method" and "global parameterized
factory method" for how to access them.

"acquired factory method" uses the context a lookup occurs in to return
a component without any parameterization.  One method, one type, one
component implementation per context. Example: an acquired
UserAuthentication property.

"global parameterized factory method" would be available globally to any
any code regardless of lookup context.  Given appropriate input
parameters a concrete instance of a Component is returned.  Examples:
getXMLParser(optimizeForSize) or findEventChannel(persistent,
qualityOfService).

John


On Sun, 2001-12-09 at 09:07, Guido van Rossum wrote:
> > Should we be making the distinction between 'services' and 'utilities' at
> > all? Isn't a utility some sort of simple degenerate service?
> 
> I'll stay out of the naming discussion (this is Zope's cross to bear)
> but the practical distinction becomes clear from the description of
> how they are used in Jim's original Wiki page
> 
>     http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/SecurityFramework
> 
> When you use a "service", there is this notion that you vaguely ask
> for one and the one nearest to you gets the request; that one will
> communicate with others of the same kind higher up in the hierarchy
> and eventually give you a result.  (Similar to methods and method
> overloading.)
> 
> When you use a "utility" you pick one you like and that's the one you
> get.  (Similar to a function, I guess.)
> 
> --Guido van Rossum (home page: http://www.python.org/~guido/)
> 
> _______________________________________________
> Zope3-dev mailing list
> Zope3-dev@zope.org
> http://lists.zope.org/mailman/listinfo/zope3-dev
> 
-- 
John D. Heintz | Senior Engineer

1016 La Posada Dr. | Suite 240 | Austin TX 78752
T 512.380.0347 | jheintz@isogen.com

http://www.isogen.com