[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XML as "passive data" (Re: The Browser Wars are
On Wednesday 23 October 2002 13:35, Simon St.Laurent wrote: > Interesting perspective. While I do occasionally tweak > public/protected/private for performance reasons, especially in J2ME, my > days spent in XML have made it very hard for me to consider making > anything private, and even protected requires some thought. One argument for privatising every field in Java is that if you then laboriously write pairs of get... and set... methods for each field then you can (later) put in consistency checks for valid field values, automatic updating of indices, security checks, etc. by modifying or overriding those get/set variables. Ideally, of course, one would have a language where foo.bar = baz is just a shorthand for foo.setBar (baz) and foo.bar is short for foo.getBar (), like my beloved Dylan, since then you can declare fields public or public-read private-write as you see fit and still add behaviour later. Or remove the actual field storage altogether and replace it with a computation. In an app I wrote, most nodes in a tree have a string field for their name, but one in particular has its name computed from its other properties since those nodes are automatically generated. For simplicity we have a string name and getName () method in the abstract node class, and in the node that doesn't have an explicit name we override getName () and have a wasted String field flapping around. Wasn't worth the effort of having AbstractNode and AbstractNodeWithName classes. > One of the key features of XML as a textual format is the exposure it > gives to information. While it's certainly possible to deliberately > obfuscate an XML document, I haven't seen that done in practice, and > there's certainly no compiler to enforce it. *cough* Microsoft Word export to HTML with XML 'styling' metadata *cough* :-) > Giving someone an XML document says that you trust them far more than > giving someone a Java object with private data. Recipients of XML > documents are free to do what they like with them, without the > distinctions created by public and private portions of interfaces. private can be abused, sure, and often is. But I think that's an issue of bad language design and poor education rather than a problem with the idea of data fields being private. > It's a pretty amazing thing, I think. What's amazing to me is truly reusable objects; the original dream of OO, but languages and developers have failed to meet it :-) Not exposing enough in the interface is bad, yes, but I don't think that making it impossible to hide stuff behind a clean abstraction layer is the answer. ABS -- A city is like a large, complex, rabbit - ARP
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|