What is a Design Pattern

A design pattern is a proven, named answer to a problem that keeps coming up in software design. Patterns are grouped as creational, structural and behavioral, and you've already used several without knowing their names: Singleton, Iterator, Observer, Dependency Injection and the DAO.

Updated

Cheat sheet: What is a Design Pattern
Category
C#
Level
Apprentice
Tags
Design Pattern, Observer Pattern, OOP, Singleton Pattern, software-development, Strategy Pattern