background preloader

.NET Design Patterns in C# and VB.NET - Gang of Four (GOF) - DoFactory

.NET Design Patterns in C# and VB.NET - Gang of Four (GOF) - DoFactory
Design patterns are solutions to software design problems you find again and again in real-world application development. Patterns are about reusable designs and interactions of objects. The 23 Gang of Four (GoF) patterns are generally considered the foundation for all other patterns. To give you a head start, the C# source code for each pattern is provided in 2 forms: structural and real-world. A third form, .NET optimized, demonstrates design patterns that fully exploit built-in .NET 4.5 features, such as, generics, attributes, delegates, reflection, and more.

Catalog of Patterns of Enterprise Application Architecture Last Significant Update: January 2003 A short summary of the patterns in Patterns of Enterprise Application Architecture (P of EAA). | Japanese | Russian | These pages are a brief overview of each of the patterns in P of EAA. Many of these diagrams demonstrate the rather poor GIF output of Visio. Domain Logic Patterns: Transaction Script (110), Domain Model (116), Table Module (125), Service Layer (133). Data Source Architectural Patterns: Table Data Gateway (144), Row Data Gateway (152), Active Record (160), Data Mapper (165). Object-Relational Behavioral Patterns: Unit of Work (184), Identity Map (195), Lazy Load (200) Object-Relational Structural Patterns: Identity Field (216), Foreign Key Mapping (236), Association Table Mapping (248), Dependent Mapping (262), Embedded Value (268), Serialized LOB (272), Single Table Inheritance (278), Class Table Inheritance (285), Concrete Table Inheritance (293), Inheritance Mappers (302). Revision History Here's a list of the major updates to this paper

Design Patterns by Classification Design Patterns Cheat Sheet from DZone Refcardz By Jason McDonald About Design Patterns This Design Patterns refcard provides a quick reference to the original 23 Gang of Four design patterns, as listed in the book Design Patterns: Elements of Reusable Object-Oriented Software. Each pattern includes class diagrams, explanation, usage information, and a real world example. Creational Patterns: Used to construct objects such that they can be decoupled from their implementing system. Chain Of Responsibility Object Behavioral Purpose Gives more than one object an opportunity to handle a request by linking receiving objects together. Use When Multiple objects may handle a request and the handler doesn't have to be a specific object. Example Exception handling in some languages implements this pattern. Command Object Behavioral Encapsulates a request allowing it to be treated as an object. You need callback functionality. Job queues are widely used to facilitate the asynchronous processing of algorithms. Interpreter Class Behavioral

Design Patterns In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. Uses of Design Patterns Design patterns can speed up the development process by providing tested, proven development paradigms. Often, people only understand how to apply certain software design techniques to certain problems. In addition, patterns allow developers to communicate using well-known, well understood names for software interactions. Creational design patterns These design patterns are all about class instantiation. Structural design patterns These design patterns are all about Class and Object composition. Behavioral design patterns These design patterns are all about Class's objects communication. Criticism Targets the wrong problem Lacks formal foundations

Related: