Skip to content

briang123/DesignPatterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C# Design Patterns

The definitions below for the Creational, Structural, and Behavioral Patterns come from: https://www.dofactory.com/net/design-patterns

(P) - Pending Completion

Creational Patterns

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

Structural Patterns

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

Behavioral Patterns

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

Bonus Patterns

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

Releases

No releases published

Packages

No packages published

Languages