[Twisted-Python] Fw: Zope and Twisted

This is the first email I got. -------------------------------------------------------- Begin forwarded message: Date: Tue, 4 Feb 2003 10:54:39 -0800 From: "Pierre Johnson" To: <itamar@zoteca.com> Subject: Zope and Twisted Hey Itamar, I read your 9 Dec 2002 weblog entry. Agreed Zope 2 is kludge. However, Twisted is kludge too. Say What? Twisted does not conform well to the OSI model. Each layer should have an abstraction and implementation for whatever it is one wants to implement. Additionally, one need include a interfaces module that keeps interfaces separate from implementation. Here's some sketches about implementations, e.g., OSI.Network.py class NetworkLayer: # an abstraction OSI.Network.IP.py import OSI.Network class IP(NetworkLayer): ... OSI.Transport.py class TransportLayer: #an abstraction ... OSI.Transport.TCP.py import OSI.Transport import OSI.Network.IP class Transport.TCP(Transport, IP): ... OSI.Session.py class SessionLayer: # an abstraction ... OSI.Session.DNS.py import OSI.Transport.TCP import OSI.Network.IP import OSI.Session class DNS(Session, TCP, IP): ... OSI.Application.py class ApplicationLayer: # an abstraction ... OSI.Application.FTP.py import OSI.Transport.TCP import OSI.Network.IP import OSI.Session.DNS import OSI.Application class FTP(Application, DNS,TCP,IP) ... This kind of abstraction schema allows for quicker programming than the current Twisted schema as written by the so-called "abstraction astronauts". Bear in mind that this is a sketch and by no means the exact why I would do it. Clearly, a perusal of the Twisted code demonstrates that Twisted does not separate transport from protocols or at least not cleanly. Thanks for your time. Pierre Johnson
participants (1)
-
Itamar Shtull-Trauring