Throughout our careers we write lots of code, we read lots of code, and we even entertain one another with witty programming humor. Yet regardless of our experience level, we repeatedly find ourselves struggling with fundamental coding decisions as we strive to make our code elegant (easy to use and maintain). This is where the time-proven approach of defining guidelines and recognizing patterns once again comes to the rescue. To begin, we will briefly review the basics of Object Oriented Programming (OOP) in .NET then move into Design Patterns and Guidelines that can help provide a systematic approach to achieving our goal of creating elegant code.
James Hanauer is a Senior Software Engineer for the ServiceU Corporation, a Memphis-based application service provider (ASP) that hosts event management, ticketing, and PCI compliant transaction processing applications via software as a service (SaaS). His primary focus is in software architecture leveraging .NET technologies, service oriented architecture (SOA) principles, and enterprise application integration (EAI) design patterns. He possesses experience in developing software for several industries including third party logistics (3PL), utilities, industrial organizational (IO) research, athletics, and veterinary medicine. In addition to .NET technologies such as C#, WCF, and LINQ, his technical background also includes ESRI GIS spatial technologies, SQL Server, Oracle, JavaScript, AJAX, and Classic Microsoft technologies to name a few. Outside the technology realm, James is the Coordinator and Head Instructor of I.T.F Taekwon-Do at the Collierville Arts Academy, an internationally certified black belt, and a 2 time K.A.T.U. national champion.