[Zope3-dev] More name game suggestions

Shane Hathaway shane@zope.com
Sun, 09 Dec 2001 00:50:28 -0500


Amos Latteier wrote:

> I do think that we should consider renaming "utility" components. I am
> always confused by the term "utility" and the descriptions of them. I
> get confused by the fact that they're like services but they differ in
> some subtle way. After looking into it more, it seems to me that they
> would be better termed "application" or "logic" components. It seems
> to me that they key difference between services and utilities is that
> services provide important functionality to all comers, while utilities
> provide application-specific services. Therefore, I prefer the term
> "application" component.

To me services and utilities are vastly different.  Some differences:

- Services are like the ground you stand on.  You can just assume they 
are there.  Utilities are like your wristwatch.  You forget to put it on 
sometimes.

- You can register components with a service.  You can not register 
components with a utility.

- Services can implement complex kinds of component registration, while 
utilities are always registered in a simple way (that is, just the 
output interface or a name).  For instance, presentation services allow 
you to register components by the combination of input interface, output 
interface, name, and layer.

- Services are rarely application specific.  Utilities are often 
application specific.  You should create an XML parser as a utility, not 
a service.

- There will be a lot of utilities and relatively few services.

- In most cases, new developers want to create utilities, not services.

- Most of the time, services don't do any real work.  They usually just 
find a component or call a component.  Utilities usually do work.

I think "utility" is a very fitting term.  "Application component" is 
too general.

Shane