Tame Your Software Dependencies for More Flexible Apps


When your application design is too tightly coupled, every class is directly or indirectly coupled to every other class in your design. Making changes in this type of system is difficult at best because a change in any one class can have a ripple effect throughout the rest of the system.

In the March 2008 issue of MSDN Magazine, James Kovacs explains how creating loosely coupled designs can help you better respond to inevitable, and many times unforeseeable, changes.

James discusses dependency inversion, dependency injection, inversion of control containers, and lifetime management, demonstrating how coding to contract rather than concrete implementation can increase the flexibility of your architecture.

Comments (1)

  1. Richard says:

    I don’t think the first sentence of the article makes much sense:

    "Few would disagree that striving for a loosely coupled design is a bad thing."

    Removing the double-negative, that leaves us with:

    "Most [people] would agree that striving for a loosely coupled design is a bad thing."

    The article is trying to show that a loosely coupled design is a *good* thing, so why would people agree that it’s a *bad* thing??

Skip to main content