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.