A design pattern can solve many problems by providing a framework for building an application. Design patterns, which make the design process cleaner and more efficient, are especially well-suited for use in C# development because it is an object-oriented language. Existing design patterns make good templates for your objects, allowing you to build software faster. This article describes several popular design patterns you can use in your own applications, including the singleton, the decorator, the composite, and the state classes, which can improve the extensibility of your applications and the reuse of your objects.
Ref:
Microsoft Application Architecture Guide 2.0 eBook -http://www.codeplex.com/AppArchGuide/Release/ProjectReleases.aspx?ReleaseId=20586
Design Patterns: Solidify Your C# Application Architecture with Design Patterns -
http://msdn.microsoft.com/en-us/magazine/cc301852.aspx
Implementing the Singleton Pattern in C# - http://www.yoda.arachsys.com/csharp/singleton.html
Implementing Singleton in C# - http://msdn.microsoft.com/en-us/library/ms998558.aspx
Creational Patterns: Writing Abstract Factory pattern with c# -
http://www.codeproject.com/KB/architecture/Abstract_Factory.aspx
Dofactory - http://www.dofactory.com/Default.aspx
Design Patterns - State Pattern -
http://blog.cumps.be/design-patterns-state-pattern/
Six Design Patterns to Start With - http://codebetter.com/blogs/jeremy.miller/archive/2006/04/11/142665.aspx
The State Pattern: An Underappreciated Pattern -
http://codebetter.com/blogs/jeremy.miller/archive/2006/04/30/143733.aspx
State Machine Design Pattern -
http://dotnet.zcu.cz/NET_2006/Papers_2006/short/B31-full.pdf