Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^3: The Accessor Heresy

by dragonchild (Archbishop)
on Nov 28, 2005 at 18:49 UTC ( [id://512320]=note: print w/replies, xml ) Need Help??


in reply to Re^2: The Accessor Heresy
in thread The Accessor Heresy

No, I have an initial implementation of a circle object with an example of how that implementation can be extended without ever giving outsiders access to the attributes.

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

Replies are listed 'Best First'.
Re^4: The Accessor Heresy
by itub (Priest) on Nov 28, 2005 at 20:51 UTC
    Which attributes? What are the "attributes" and why should the user care? The only thing the user of an object should care about is being able to do whatever he needs with the object, which may include getting and setting certain "observable" properties, while the methods take care of keeping the object in a consistent internal state.

    The actual attribute stored internally by a circle object might turn out to be the perimeter, but that doesn't affect the circle's user at all, as long as he is able to get the radius, or whatever he needs, out of the object. If the user then wants to set or get the perimeter and the implementation turns out to be a trivial "accessor" because it happens to match the internal structure of the object, it doesn't make any difference and is not bad design.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://512320]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (3)
As of 2024-04-20 02:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found