For your viewing enjoyment, here is a very thought provoking geekSpeak episode. James Kovacs is the guest, and he really shows us the the shortcomings of tightly coupled architectures from the perspective of testing and maintenance.
James gives lots of guidance on how to avoid introducing dependencies that result in too-tightly-coupled a design. The decoupled approach makes a lot of sense once you see it, and you've probably been doing it to a lesser degree without even being aware of it.
There's also a lot of good discussion in here about Test Driven Development, and how tight coupling impacts the ability to create effective tests that are poor at isolating the errors you need to fix. James shows how using unit testing frameworks can reveal this coupling nicely.
James also introduces the concept of mock objects, and compares them to fake objects. He also shows off a couple of interesting tools.
Watch this geekSpeak to learn more about how you can create more nimble code bases and avoid ripple effects when code is changed. Also, see if you can figure out where Glen's audio got disconnected! Be sure to read
the article James wrote for MSDN magazine
to extend your learning.
More resources related to this geekSpeak can be found on our geekSpeak blog.
About our guest: James Kovacs
James is an independent architect, developer, trainer, and jack-of-all-trades, specializing in agile development using the Microsoft .NET Framework. He is passionate about helping developers create flexible software using test-driven development (TDD), unit testing, object-relational mapping, dependency injection, refactoring, continuous integration, and related techniques. He is a founding member of the Plumbers @ Work podcast, which is syndicated by MSDN Canada Community Radio. James is a Microsoft Most Valuable Professional (MVP) - Solutions Architect and card-carrying member of ALT.NET, a group of software professionals continually looking for more effective ways to develop applications. He received his master's degree from Harvard University. James can be reached through his blog http://www.jameskovacs.com