design patterns in .net

154 Points
67 Posts


what are design patterns in .net? Is MVC a design pattern?

Views: 9096
Total Answered: 1
Total Marked As Answer: 1
Posted On: 16-Aug-2015 23:27

Share:   fb twitter linkedin
Rahul Maurya
Rahul M...
1402 Points
236 Posts

Hi Sam,

Design patterns provide general solutions or flexible way to solve common software design problems.

"Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice."

                                                                      -- Christopher Alexander - A Pattern Language

The 23 Gang of Four (GoF) patterns are generally considered the foundation for all other patterns. They are placed in three groups: Creational, Structural, and Behavioral (for a complete list see below). 

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: Match interfaces of different classes
  • Bridge: Separates an object’s interface from its implementation
  • Composite: A tree structure of simple and composite objects
  • Decorator: Add responsibilities to objects dynamically
  • Facade: A single class that represents an entire subsystem
  • Flyweight: A fine-grained instance used for efficient sharing
  • Proxy: 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
Posted On: 25-Aug-2015 22:34
 Log In to Chat