Good post -- This is basically what I was failing to say so eloquently in the previous thread with my MetaThing example ... inheritance is the proverbial over-used hammer of Software design.

As for texts that say that (someone wanted examples), well, this is mainly an opinion that one need to form by oneself, or you need to use languages that don't use inheritance as an uber-hammer. Java zealots use inheritance as an uber-hammer all the time, so the "texts" as you say are probably sending mixed messages.

Compare and constrast (ack! sounds like high school), for instance, Ruby File I/O with Java File I/O, and which one makes you want to strangle a small furry animal. Keeping it simple, and knowing when to encapsulate is a good thing. I am actually able to (by reasonable use of encapsulation and a good object model), forego the need for mixins most of the time as well. KISS (Rock and Roll every night, party every day) design usually doesn't need it. The trick is encapsulating other classes and asking them to do things for you, rather than trying to have your one class "be" everything.


In reply to Re^2: Solving the SUPER problem in Mixins with a Dispatch Method by SpanishInquisition
in thread Solving the SUPER problem in Mixins with a Dispatch Method by simonm

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.