|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: What is coupling? [Was: 3 XML Design Principles]
In a myopic answer, XML Doesn't Care. Data doesn't know about coupling and cohesion. XML is data and data coupling is considered the best form, so XML enables better cohesion with minimized coupling for modules that process it. BUT XML adds structure in the tree and via metadata such as names. Metadata and tree structures of the data make certain operations on the data harder or easier, for example getting and setting node values, so it is the case the structure affects the coupling of the modules that process the data and their cohesiveness. Names introduce dependencies for out-of-band knowledge. Would you rather chase pointers or process a chunk in a single pass? It depends. Do you care that attribute names can't be repeated but element names can? It depends. Does attribute orthogonality bother you? No. Should it? Are S-expressions are superior? One move to permathread #5. Does the CSS syntax combined with the XML syntax reduce cohesion? One move to flameWar #3. len From: Peter Hunsberger [mailto:peter.hunsberger@g...] Sent: Tuesday, February 01, 2005 12:43 PM > Question: > > Is cohesion maximized when the XML structure is flat and uses attributes > to logically connect or is it maximized when the structure is nested > hierarchically? > > -Rob My opinion: if you've got a single file (or data structure) then you've got cohesion. Certainly the things you've glued together in that file or data structure may have no logical connection to each other, but that's a different issue. To put it another way: XML can provide cohesion and reduce coupling, the structure of the XML is an orthogonal concern.
|
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
|
|||||||||

Cart








