There are a few folks who argue that accessors are bad, objects shouldn't be glorified structs, multiple inheritance is always evil, etc. The main issue I have with statements such as these as they tend to be "holy pronouncements" that some folks take as gospel even though they're just good rules of thumb which should be violated as needed.

The primary benefit I see in considering such pronouncements is thinking about why they're beneficial, something you're doing. Accessors can violate encapsulation. Glorified structs are often overkill. Problems with MI are extremely well-documented. Once we understand why a particular practice is good or bad, then we're much better prepared to either adopt or reject a given practice for a given need. No blanket pronouncements for me!

Cheers,
Ovid

New address of my CGI Course.


In reply to Re: The Accessor Heresy by Ovid
in thread The Accessor Heresy by Roy Johnson

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.