Hello
While discussing the implementation of Net::LDAP::Express on the perl-ldap list, I had a short discussion with Graham Barr:
GB: If there is one thing that concerns me is that it is implemented by inheritance. inheritance is usually, in my experience, used to extend functionality of a class. But in this case you are changing it.
Me: I realized that I needed all functionalities of Net::LDAP that I didn't reimplement, and I thus had to proxy every unknown method back to Net::LDAP. That called for my module to be a subclass rather than a "composition".
GB: You need to use delegation for those methods. See Class::Delegation
Since then I started to meditate about the pros and cons of inheritance and delegation; in particular I started asking myself why and how inheritance could be evil.
Anyone that can help me to boost my meditations on the subject?
Thanks a lot in advance
Ciao!
--bronto
PS: Not sure if this is a Meditation or SOPW, let's see what editors think :-)
The very nature of Perl to be like natural language--inconsistant and full of dwim and special cases--makes it impossible to know it all without simply memorizing the documentation (which is not complete or totally correct anyway).
--John M. Dlugosz
In reply to Inheritance vs Delegation: pros and cons by bronto
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |