A software design pattern is the description of the generally accepted 'best practice' method or technique, for solving particular common problems in software engineering.

Why do we use design patterns

By identifying and formalizing a method or task, code becomes more understandable by others, who recognize the terms used, and structure of the code.
These patterns help to solve many common problems in computer programming of all languages.

Once a design pattern becomes popular, it would have stood the test of many great minds, and in it's acceptance becomes coinsidered "best practice".


There are many popular design patterns. Below are some of the most popular, grouped by category.

Behavioral Patterns

Concurrency Patterns

Creational Patterns

Structural Patterns

Return to Top

See Also

Link to domain parent articles and related articles in TechNet Wiki.

Return to Top

Community Resources

These are the external links, including links to Microsoft and TechNet sites that are non-Wiki

Return to Top

References section

Use this section if you pulled source material and ideas from other sites, blogs, or forums. Make sure you have permission from authors to use their material.

Return to Top