One of the benefits of OO programming is abstracting the interface details from the user. Provide methods for them to update this information rather than allow them to mess directly with the object. What if you need to change the internals of the object? Then, all of the code that accesses it directly is in danger of being broken.
I have one module that used to allow programmers to turn the modules function off and on. Internally, you could have done something like:
$object->{ _on } = 0;
# equivalent to the following:
$object->off;
However, as time went on, I realized that having this module's function "suppressed", with local overrides allowed, was superior to just "off" and "on." As a result, internally, the the "_on" key was no longer available. It was changed to "_supress", with potential values of 0, 1, and 2. However, for purposes of backwards compatibility, I still had the
$object->off functionality available. No old code broke, but the module's internals were different.
Cheers,
Ovid
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.