[Zope3-dev] Zope 3 Source organization

Tres Seaver tseaver@zope.com
14 Jul 2003 17:23:34 -0400


On Mon, 2003-07-14 at 15:45, Jim Fulton wrote:
> Tres Seaver wrote:
> > On Sun, 2003-07-13 at 18:35, Jim Fulton wrote:

> > The only case I can see for separation is where true pluggability is a
> > high-priority goal:  e.g., you have an important use case for supplying
> > alternate implementations of a component, and the real cost of
> > abstracting away the interface and the browser bits will pay *immediate*
> > returns.
> > 
> > Note that I will contend that pluggability is *not* a goal for
> > straightforward content objects!
> 
> I disagree. The most common use of plugability is to provide
> alternatte UI or additional application functionality for existing content
> components.  This is probably not the plugability you were refering to.

Separating views from interfaces from content implementations (into
separate packages) facilitates pluggability, at the expense of
naturalness.  Most content components should come out-of-the-box with a
handful of "default" views, none of which should be seen as privileged
in any way except one:  the original provider of the content component
and its default views should be free (and encouraged) to bundle them
together within a single package.

Forcing / encouraging them to split benefits the hypothetical
replacement at the expense of the all-too-real default implementation,
which *most* users won't replace.

Tres.
-- 
===============================================================
Tres Seaver                                tseaver@zope.com
Zope Corporation      "Zope Dealers"       http://www.zope.com