[Zope3-dev] defining interfaces

Garrett Smith garrett@mojave-corp.com
Sat, 5 Apr 2003 14:57:20 -0600


> -----Original Message-----
> From: Steve Alexander
> Sent: Saturday, April 05, 2003 2:15 PM

> Perfection is attained not when there is nothing left to add but when=20
> nothing is left to remove.

Hmmm...(thinks)...okay...

  The entropy of the Universe increases
  -- 2nd Law of Thermodynamics
=20
:-)

> > Btw, I'm not entirely clear on the term "project".
>=20
> Many people have said that. I wish we had a good working=20
> definition of "project".

I've added this to a growing list of questions/issues that I'll followup
on at some point.

> The two alternatives I'd recommend are:
>=20
> 1:
>      project.py
>      iproject.py
>=20
> 2:
>      project/
>      project/interfaces.py
>=20
>    or, if you have lots of interfaces
>=20
>      project/
>      project/interfaces/

A generous "two" ;-)

Some questions:

 - When would you recommend option 1 for developer? I would imagine that
namespace qualification of modules would be strongly recommended for
anything meant to plug into Zope 3.

- In the event that "best practices" recommends that projects should be
defined in some sort of package structure, could we eliminate option 1
above? This would leave the relatively simple decision of  whether to
define interfaces in a module or a package, presumably based on the size
and complexity of the API.

Garrett Smith
Mojave Corporation