Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


What is coupling? [Was: 3 XML Design Principles]

From: "Roger L. Costello" <costello@-----.--->
To: "'XML Developers List'" <xml-dev@-----.---.--->
Date: 2/1/2005 12:35:00 PM
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?]

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.

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.

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


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent