Tightly coupled applications lead to heartache. They are difficult to manage. They are difficult to maintain. The create applications that are inflexible. They make TDD, or even TAD (Test After Development) all but impossible. It doesn’t have to be this way. You’ve probably heard fancy terms like “Dependency Injection” and “Inversion of Control” but what do these mean and can they really help you write better applications and make testing easier? What about all those exotic frameworks? And what the heck is a “container?!” The bad news; this knowledge is a MUST HAVE for most testable applications these days. The good news, they are simpler than you think and besides simply making your code testable will also lead to good architecture practices that will help you develop better applications. This session will explain and demonstrate how these concepts some easy to use frameworks can help make your C# or VB.NET application more loosely coupled, easier to work with, more flexible, more maintainable and more testable.