A comprehensive design patterns library implemented in C#, which covers various design patterns from the most commonly used ones to the lesser-known ones. Get familiar with and learn design patterns through moderately realistic examples. In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. In addition, design patterns allow developers to communicate using well-known, well-understood names for software interactions. Know when to use a certain design pattern, and when not to. No design pattern is a 42 - the answer to life, the universe and everything. There are situations in which every design pattern easily becomes an antipattern.
Features
- Creational design patterns are design patterns that deal with object creation mechanisms
- Structural design patterns are design patterns that ease the design by identifying a simple way to realize relationships among entities
- Provides an interface for creating families of related or dependent objects without specifying their concrete classes
- Lets you construct complex objects step by step. The pattern allows you to produce different types and representations of an object using the same construction code
- Turns a request into a stand-alone object that contains all information about the request
- Provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created