As developers, we love to work on new projects. Why is that? One reason is that new code is easy to change and enhance. You take an idea and sculpt it just the way you want, and the result is a thing of beauty (if we're lucky).
What if all our code was that way? What if that mission-critical system that has been built over 5 years was easy to change and enhance? Fortunately over the 6 versions of C#, the architects of the language have added many powerful features to help us reach this lofty goal.
The Design maintainable code with C# course will help you get there. We look at building loosely-coupled systems with events and delegates. We tame class proliferation / explosion with generics. We add declarative behaviors and information to classes using attributes. We dig into building plug-in based software using reflection. And we see that the rarely known
yield return keyword is central to working efficiently with large amounts of data and is the foundation of LINQ to Objects.