Tim Hoffman wrote:
> Just re-inforcing this I almost never do IFoo. adaption as I am almost
> always using
> multiadapters and utilities so I completely forget about the IFoo
> adaption capability.
> Which means I always just write getAdapter as well as it seems more
> consistent to
> from an api consumption point of view.

I use the IFoo(x) to invoke an adapter (and IFoo(x, None) lookup for a 
fallback) a *lot*. As in, virtually in every piece of (Zope) software I 

I've also encouraged people to do that in at least three major pieces of 
documentation (including my book).

Similarly, answering a different part of this thread: I use custom 
adapter factories from time to time, and have documented them as useful 
practice. Normally, that's because I want to look up the adapter 
implementation from someplace else than the global registry (e.g. 
plone.portlets fishes a persistent object out of an annotation at one 
point), or because I want the ability to "abort" the annotation by 
returning None (plone.behavior does that - actually, plone.behavior is a 
good example of the former also).


Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope )

Reply via email to