I'm trying to learn how to code Plone products using Archetypes, but to
get a sound
understanding, I'm going through layer by layer, starting from Zope
written in Python. I have been trying Plone for about 6 months. My
is very limited.
In Zope Developer's guide at zope.org, it says that when you make products
should define the interface of your product and make the implementation
implement that interface. I understand that this "interface" is not a
feature of Python, but a convention introduced by Zope. By following the
you get some introspection capabilities that is provided by Zope libraries.
From my experience with OOP in Java and C++, using interfaces makes sense
some code knows that interface and codes against it, or some introspection
tool (typically a GUI builder or RMI/CORBA-ish tool) will study your
do something based on that knowledge.
What is not clear to me is the effect of declaring the interface of Zope
How does Zope care about it? In "The definitive guide to Plone", the
example does not define it's own interface, but does assert that it
some interfaces that are defined by the framework. So it seems that it is
necessary to define the inteface of your product to make it work, but
to assert that it implements some well-known interfaces.
The Zope Developer's guide does not actually say that you must define
to make your product work. It just says that doing so will make it easier
other people to understand your products. If that is the sole effect of
interfaces, it is just for documentation, then. Am I right?
Hideo writing from Yokohama Japan.
Zope maillist - Zope@zope.org
** No cross posts or HTML encoding! **
(Related lists -