C# Interview Question #151

What is a design pattern?

Design Patterns & Production Architecture Senior Advanced

Quick Interview Answer

A design pattern is a reusable conceptual solution to a recurring software-design problem. It describes relationships and responsibilities rather than providing code that must be copied exactly.

Detailed Explanation

A design pattern is a reusable conceptual solution to a recurring software-design problem. It describes relationships and responsibilities rather than providing code that must be copied exactly.

Common C# patterns include Factory, Strategy, Decorator, Adapter, Observer, Builder, Repository, Mediator, and Singleton.

Patterns should solve an actual design problem. Adding patterns unnecessarily can increase abstraction and complexity without providing value.