A design pattern describes a common programming problem and a "template solution". In this book we give a practical approach to using design patterns in the C# language, developed for use with the .NET platform. This book is not a treatment of the theory of design patterns. We show design patterns applied in real world architectural scenarios so that you can see them in action and see the benefits that they bring. We explain why it's worth spending time building design patterns into your applications