[Grok-dev] Re: layers and skins

Martijn Faassen faassen at startifact.com
Fri Apr 20 08:12:06 EDT 2007

Kevin Smith wrote:
> So, regardless of the final outcome of the names, it seems there is a 
> concensus on the mechanics of how it works.
> Based on a merger of Martijn and Philipps proposals.
> class IMonterey(grok.ILayer):
>    pass
> class Monterey(grok.Theme):
>    grok.layer(IMonterey)
>    grok.name('myskin') # defaults to this
> +0 grok.Theme, the word it's not widely used (although that might be a 
> positive)

> +1 grok.Skin, this feels better to me even if it's not literally correct

I prefer grok.Skin too. See my other mail for objections to grok.Theme.

> -1 grok.implements, although it sounds good on the tongue, it appears to 
> warp the real meaning too much
> +1 grok.layer, I don't think there's a real negative to this

I agree, though Philipp doesn't seem to like it as much. :)

> +0 ILayer vs Layer, you say Tomato I say ITomato, also grok hides 
> implementation details all the time and zope3 is very inconsistent about 
> this.

I'd prefer ILayer myself. I don't see the need to hide the detail here, 
and it's potentially confusing. Grok will expose people to interfaces 
one way or another. It's just in Grok we try to avoid interfaces for 
basic use cases where they're not really needed yet.



More information about the Grok-dev mailing list