The strategy design pattern splits the behavior (there are many behaviors) of a class from the class itself. This has some advantages, but the main draw back is that a client must understand how the Strategies differ.
Mediator pattern is used to reduce communication complexity between multiple objects or classes. The pattern provides a mediator class which handles all the communications between different classes and supports easy maintenance of the code by loose coupling.
Converts the interface of a class into another interface this client expects.
The singleton pattern is a design pattern that restricts the instantiation of a class to one object.
The Prototype Design Pattern is one of the Creational Design Patterns defined by the Gang Of Four (GOF) published their book Design Patterns: Elements of Reusable Object-Oriented Software in which they presented a catalog of simple and succinct solutions to commonly occurring design problems.
Learn how to use the Abstract Factory .NET Design Pattern C# in order to help improve and enhance your code for greater testability.
This book discusses how to decompose complex software systems into modules that can be implemented relatively independently. The discussion first begins with fundamental problem in software design, managing complexity.
Clean code and the practices are about eliminating or at least attempting to reduce complexity. Although clean code solutions may seem elegant and efficient, they are not always easy and are often the direct result of combating complexity!