El 30 Aug 2008, a las 07:50 , Dieter Maurer escribió:
Chris Withers wrote at 2008-8-29 10:25 +0100:
Dieter Maurer wrote:
Then, we could get rid of the "{get|query}[Multi]Adapter" altogether and consistently use "I(....)" with appropriate optional parameters -- what a simplification and homogenization :-)
Yeah, but since when has simplification or homogenisation been a goal of Zope 3? ;-)
It was with the "Service" geddon: make "Service" and "Utility" homgogenous.
Indeed. I've personally thought for some time that it would be quite nice if all you had to do was call an interface to look up a utility (which is sort of a multi-adapter of order 0) or to do some kind of adaption, no matter how many objects you wanted to adapt. E.g.: auth = IAuthentication() # utility auth = IAuthentication(default=None) langs = IUserPreferredLanguages(request) # adapter langs = IUserPreferredLanguages(request, default=None) view = IBrowserPage((obj, request), name='index') # named multi-adapter etc. Personally I would favour such consistency higher than the current behaviour, which may have been invented intentionally but still causes confusion once in a while.