[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