Dariush Pietrzak wrote:
On Wed, 5 Jan 2005, Austin Schutz wrote:

        Why not just add the functionality to Net::FTP? Or you could
subclass Net::FTP and call it something clever like Net::FTP::TLS.

Because Net::FTP is written in a way that makes it extremely hard to make
needed modifications. It is a very well-thought, large and organized object hierarchy.

Net::FTP?

I tried adding TLS support to it almost 2years ago, contacted it's author,
heard that there is large redesign coming, which will allow changes needed
for encryption, however there is still no TLS in Net::FTP, and I'm sitting
here on encryption-enabled client for the past two years.
 Do you think that I should keep it to myself for the next few years?

No, you should release it ASAP.

Additionally Net::FTP works with very large range of ftpservers, which
fills code with lots and lots of special cases, this (and elaborate object
hierarchy) makes it very hard for someone to come and extend it, and after
trying to do that, I can only conclude that I'm too stupid to be playing
with its internals.

Well that doesn't jibe with "well-thought" and "organized", but I guess that means I'm stupid too. I've been using Net::FTP for 8 years or so, and I never even knew there was a hierarchy. Or are you referring to Net::Cmd?


I'd still favour going with the name Net::FTP::TLS, even if it isn't subclassed from Net::FTP. If the redesign ever comes down the pipe, you could reimplement by subclassing and keep the interface the same? I think that people will look for Net::FTP and drill down, not go up from Net::FTP and do a breadth-first search in the CPAN namespace.

Or do you foresee that it might also be possible to write Net::TLS::SMTP, Net::TLS::LDAP, Net::TLS::Foomatic?

David



Reply via email to