GithubHelp home page GithubHelp logo

designpatterns's Introduction

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

designpatterns's People

Contributors

briang123 avatar

Watchers

James Cloos avatar  avatar

Forkers

anil1111

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.