| |||||||||||
| |||||||||||
Screw it or Glue it? Access to Object variables - a warning
If you screw two pieces of material together, you have the opportunity, later on, to unscrew them ... resuse them differently, install a waterproof membrane between them, and so on. But if you glue them together, later modification will be much harder or perhaps impossible. And in a similar way, if you're connecting two pieced of software together it's better to screw them than to glue them. What am I getting at?
If you access a member variable within an object directly from your main calling code, then you don't leave yourself the opportunity to intersperse some extra check or twist later on, whereas if you access all member variables via methods - even if they are really just empty wrappers, you leave yourself the flexibility for later. Let's see an example. Here is a (Python) class: class pidgeon:which I can use like this: george = pidgeon("John Smith",200)and it will print out 200 and 50. Here is an alternative class: class woodpecker:and I can access the data, more simply, as follows: print "Value of Gerry is",gerry.value;I now want to set a mimimum value of 75 pounds on all birds - pidgeons and woodpeckers. With pidgeons, it's easy - I just modify the getvalue method as follows: def getvalue(self):but with my woodpecker class I'm stuck. Pidgeons are like screws, and woodpeckers stick like glue! Full Source code of example. (written 2007-09-12 08:44:55) Associated topics are indexed under Q909 - Object Orientation and General technical topics - Object Orientation: Composite ObjectsY106 - Object Oriented Python
Some other Articles
Actionscript / Flash / Flex (IAQ/FAQ)Compressing web pages sent out from server. Is it worth it? FSB (Federation of Small Businesses) Western Region Cash is not an acceptable way of paying Screw it or Glue it? Access to Object variables - a warning Wireless Internet Access at hotels - an update and some pitfalls Evening, Devizes and Sells Green Perl and Shell coding standards / costs of an IT project Catching up on indexing our resources Melksham Laundrette 1637 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 at 50 posts per pageThis is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price. Link to Ezine home page (for reading). Link to Blogging home page (to add comments). |
| ||||||||||
PH: 01144 1225 708225 • FAX: 01144 1225 707126 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho | |||||||||||