[Zope3-dev] Mail delivery failed: returning message to sender
Mail Delivery System
Mailer-Daemon at python.org
Thu Apr 8 07:04:11 EDT 2004
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
rdmurray+keyword+z3wiki2.24c5b9 at twirl.bitdance.com
SMTP error from remote mailer after RCPT TO:<rdmurray+keyword+z3wiki2.24c5b9 at twirl.bitdance.com>:
host twirl.bitdance.com [208.210.83.50]: 550 <rdmurray+keyword+z3wiki2.24c5b9 at twirl.bitdance.com>:
User unknown in local recipient table
------ This is a copy of the message, including all the headers. ------
Return-path: <zope3-dev at zope.org>
Received: from cache1.zope.org ([12.155.117.38])
by mail.python.org with esmtp (Exim 4.22)
id 1BBXJm-0001B7-8a; Thu, 08 Apr 2004 07:03:34 -0400
From: zope3-dev at zope.org (srichter)
Reply-To: zope3-dev at zope.org
To: ;
Subject: [InterfaceStyle] updated
Message-ID: <20040408070333EST at dev.zope.org>
X-BeenThere: zope3-dev at zope.org
X-Zwiki-Version: 0.21.1
Precedence: bulk
List-Id: <zope3-dev at zope.org>
List-Post: <mailto:zope3-dev at zope.org>
List-Subscribe: <http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/InterfaceStyle/subscribeform>
List-Unsubscribe: <http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/InterfaceStyle/subscribeform>
List-Archive: <http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/InterfaceStyle>
List-Help: <http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture>
Date: Thu, 08 Apr 2004 07:03:33 -0400
X-Spam-Status: OK (default 0.000)
??changed:
-1. There should be one interface per file and the file should have the same
- name as the interface.
-
-2. The interface name should always start with an "I", for example
- "ITranslationService".
-
-3. One function of interfaces is to document functionality, so be very
- verbose with the documentation strings.
-
-4. You should use always the Interface "class" somewhere in your inheritance
- tree.
-
-
-Example::
-
- from Interface import Interface
-
- class IDublinCoreTitle(Interface):
- """This interface will provide a title handler for common
-[7 more lines...]
Status: IsDraft
1. All public interfaces should go into a file called 'interfaces.py'.
By "public" I mean interfaces that you expect to be implemented more
than once. Interfaces that are likely to be implemented only once,
like 'IGlobalAdapterService', should live in the same module as their
implementation.
2. The interface name should always start with an "I", for example
"ITranslationDomain".
3. One function of interfaces is to document functionality, so be very
verbose with the documentation strings.
4. You should use always the Interface "class" somewhere in your inheritance
tree.
Example::
from Interface import Interface
class IDublinCoreTitle(Interface):
"""This interface will provide a title handler for common
content objects.
"""
def getTitle():
"""Get the title from the object."""
def setTitle(title):
"""Set the title of the object."""
??changed: -1. When subclassing a class that declares it implements
one or more Interfaces, - be explicit about the Interfaces you are
inheriting. That is, - either list the interfaces in you class
definition, or explicitly - inherit the parent's Interfaces by doing::
- - __implements__ = superclassname.__implements__ 1. Declare an
interface as being implemented by a class or module by using
'zope.interface.implements'::
from zope.interface import Interface, implements
class IFoo(Interface):
pass
class Foo(object):
implements(IFoo)
2. To declare that an object provides an interface directly, use
'zope.interface.directlyProvides'::
from zope.interface import Interface, directlyProvides
class IFoo(Interface):
pass
class Foo(object):
pass
foo = Foo()
directlyProvides(foo, IFoo)
But be careful, 'direclyProvides()' can only be used once and does not
accumulate provided interfaces.
--
forwarded from http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/InterfaceStyle
More information about the Zope3-dev
mailing list