Re: ZCA proposal

Shane Hathaway <[email protected]>
Newsgroups gmane.comp.web.zope.devel
Message-ID <[email protected]>
Martin Aspeli wrote:
> Gary Poster wrote:
>> I think I could get fully behind the following proposal that others have made (Shane I think was one of several?).
>>
>> IFoo.adapt(...)
>>
>> IFoo.utility(...)
> 
> Thinking about it a bit, it strikes me that IFoo.adapt(context) may not 
> be right. This reads "IFoo adapt context", which doesn't make sense. 
> What I really want to hear is "context adapted to IFoo". So maybe it's
> 
>    IFoo.adapting(context)?
>    IFoo.adapterFor(context)?
>    IFoo.adapter(context)?
> 
> Just thinking out loud.

To me, "myobj.get(x)" reads as "myobj, please get x and give me the 
result", so "IFoo.adapt(y)" reads as "IFoo, please adapt y and give me 
the result".  That statement makes perfect sense to me.

> Thinking out loud further, I think I may actually prefer IFoo.instance() 
> instead of .utility(), but maybe that debate is already passed. 
> .utility() is OK too.

To me, generic names like "instance" and "singleton" suggest we're 
trying to solve some grand problem that would make our brains hurt.  I 
find it more satisfying to solve a more specific problem.

I am participating in this thread because I believe the current 
zope.component API is unnecessarily verbose, hindering readability and 
adoption by Python projects that would benefit.  I think adding adapt() 
and utility() to zope.interface.Interface might improve the situation. 
We could instead add adapt() and utility() functions to the 
zope.component package, but I haven't seen any function signature that 
would turn out as simple as "IFoo.adapt(x)".

Shane

_______________________________________________
Zope-Dev maillist  -  [email protected]
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 )
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.