The definitions below for the Creational, Structural, and Behavioral Patterns come from: https://www.dofactory.com/net/design-patterns
(P) - Pending Completion
Abstract Factory - Creates an instance of several families of classes
Builder - Separates object construction from its representation
Factory Method - Creates an instance of several derived classes
Prototype - A fully initialized instance to be copied or cloned
Singleton - A class of which only a single instance can exist
Adapter (P) - Match interfaces of different classes
Bridge (P) - Separates an object’s interface from its implementation
Composite - A tree structure of simple and composite objects
Decorator (P) - Add responsibilities to objects dynamically
Facade - A single class that represents an entire subsystem
Flyweight (P) - A fine-grained instance used for efficient sharing
Proxy (P) - An object representing another object
Chain of Resp. - A way of passing a request between a chain of objects
Command - Encapsulate a command request as an object
Interpreter - A way to include language elements in a program
Iterator - Sequentially access the elements of a collection
Mediator - Defines simplified communication between classes
Memento - Capture and restore an object's internal state
Observer - A way of notifying change to a number of classes
State - Alter an object's behavior when its state changes
Strategy - Encapsulates an algorithm inside a class
Template Method - Defer the exact steps of an algorithm to a subclass
Visitor - Defines a new operation to a class without change
MVC - Separation of concerns with a Model, View, Controller
Publish-Subscribe - Ability for objects to publish events and for other objects to subscribe to those event triggers