About: Barry is a .NET Software Engineer who has been creating business solutions for enterprise customers for more than 25 years. Barry is also an Election Integrity Activist, baseball and hockey fan, husband of one genius and father of another, and a 30 year resident of Phoenix Arizona. When Barry is not traveling around the world to speak at Conferences, Code Camps and User Groups or to participate in GiveCamp events, he spends his days as a Solution Architect for a Fortune 100 company and his nights thinking about the next AZGiveCamp, an annual event where software developers come together to build websites and apps for some great non-profit organizations. You can follow Barry on Twitter or read his blog Cognitive Inheritance. Presentation: Design Patterns for Loosely Coupled Applications Building loosely coupled applications is critical to creating solutions that follow good object oriented principles. These principles help make sure our applications are testable, maintainable and extensible. In this session we will explore several design patterns that are key to building applications that maintain loose coupling. We start by reviewing a tightly coupled application. Then, we explore several critical design patterns by using them to convert the application into a maintainable and extensible solution that can be validated using unit tests.