[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]
> -----Original Message----- > From: Roger L. Costello [mailto:costello@m...] > Sent: Tuesday, February 01, 2005 7:35 AM > To: 'XML Developers List' > Subject: What is coupling? [Was: 3 XML Design Principles] > > Hi Folks, > > Again, many thanks for the excellent comments. I am working > hard to assimilate all your comments, and will create a > summary of all the discussion soon. > > One question that several people asked was, "What do you mean > by coupling?" > Below I have made an attempt at defining coupling. Do you > agree with my definition? Is it complete, i.e., are there > other factors that should be incorporated into a definition > of coupling? > > Note that I have changed version #2 to this: > > <Lot id="1"> > -- info about the lot -- > </Lot> > <Picker id="John"> > -- info about the picker -- > </Picker> > <Assignment picker="John" lot="1"/> > > The Lot component just contains information about the Lot. > And the Picker component just contains information about the > Picker. The Assignment element connects the Lot and Picker. > ["Assignment" is not really the correct name. Can someone > think of a better name?] Yes - Association. > Okay, now for my definition of coupling: > > What is Coupling? > > Definition: There exists a coupling between two components if > there exists a "dependency" between the components. The > greater the dependency, the greater the coupling. I would recommend calling this "proximity", or "embededness" instead of "coupling", as it is more of a physical characteristic than logical. > An obvious dependency is physical dependency. In version #1 > the Lot and the Picker are physically dependent (coupled) on > each other: > > <Lot id="1"> > <Picker id="John"> > . > </Picker> > </Lot> > > The Picker is a child of Lot. The Lot is the parent of > Picker. There exists a definite physical co-dependency > between the Picker and Lot components. > > A more nebulous dependency is semantic dependency. In > version #1 not only does there exist a physical dependency, > but there also exists a semantic dependency. Namely, the > Picker is located on the Lot. I would assert that this is a semantic association, more than a semantic dependency. That is, the Picker can be removed from the lot (physically, in the real world) yet the lot will still remain. And vice-versa. The above comments can also all be applied to the remainder of the posting. Kind Regards, Joseph Chiusano Booz Allen Hamilton Strategy and Technology Consultants to the World > Now consider version #2: > > <Lot id="1"> > . > </Lot> > <Picker id="John"> > . > </Picker> > <Assignment picker="John" lot="1"/> > > The Lot and Picker components are physically completely > separate. There is no physical dependency. The Assignment > element creates a semantic dependency between the Lot and > Picker, by identifying that the Picker is on the Lot. > > So, in version #1 there exists both a physical and semantic > dependency between the Picker and the Lot. In version #2 > there exists only a semantic dependency. Thus, there is a > stronger coupling between the Picker and Lot components in > version #1. We say that there exists a tight coupling > between the components in version #1. There exists a loose > coupling between the components in version #2. > > Comments? /Roger > > > > > ----------------------------------------------------------------- > The xml-dev list is sponsored by XML.org > <http://www.xml.org>, an initiative of OASIS > <http://www.oasis-open.org> > > The list archives are at http://lists.xml.org/archives/xml-dev/ > > To subscribe or unsubscribe from this list use the subscription > manager: <http://www.oasis-open.org/mlmanage/index.php> > >
|
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
|