-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Tres Seaver wrote: > Gary Poster wrote: >> On Nov 27, 2009, at 6:32 AM, Martijn Faassen wrote: > >>> Utility lookups versus adapter lookups >>> -------------------------------------- >>> >>> There was some discussion on whether utility lookups are really >>> something fundamentally different than adaptation as adaptation >>> *creates* a new instance while utility lookup uses a registered >>> instance. I think the essential part here is however: "give me an >>> instance that implements IFoo", and utility lookup fits there. We could >>> even envision a way to create utilities that *does* instantiate them on >>> the fly - it shouldn't affect the semantics for the user of the utility. >> As above, I disagree. > > The root of the disagreement here is that you seem to want the *caller* > to care about something which is important only to the person who > *registers* the thing being looked up. From the caller's perspective, > the call site needs an object implementing IFoo, looked up using some > number N of context arguments, where N could be 0 (no context required > to find the object). The fact that, under the hood, an adapter lookup > happens to call a factory, passing the context args, is not relevant *to > the caller*.
(Sorry for the self-followup: I hit the send key combo by accident). As an additional point: note that 'IFoo(context)' does *not* guarantee that any factory will be called at all: if 'context' already provides IFoo, then it is just returned. Tres. - -- =================================================================== Tres Seaver +1 540-429-0999 tsea...@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAksT8FoACgkQ+gerLs4ltQ5Q3QCdFqvt7BP+SPEiBY6ptsDrj/T5 MPUAn24YiKOtR6gF3B3YhEjgrGkBtqEX =qUsq -----END PGP SIGNATURE----- _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )