Pattlets

Retired Content

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. Please see the patterns & practices guidance for the most current information.

patterns & practices Developer Center

Version 1.1.0

Complete List of patterns & practices

Pattlets are actual patterns to which this guide refers, but which it does not discuss in detail. For more information about why pattlets are used, see Chapter 2, "Organizing Patterns." The following table lists each pattlet mentioned in this guide and, where applicable, a reference to the original work that identified it.

Table A: Pattlets

Four-Tiered Distribution Refines Three-Tiered Distribution by separating the Web servers into their own tier. Microsoft patterns & practices
Abstract Factory Provides an interface for creating families of dependent objects without specifying their concrete classes. Gamma95
Adapter Converts the interface of a class into another interface clients expect. Gamma95
Application Controller Is a centralized point for handing screen navigation and the flow of an application. Fowler03
Application Server An execution environment for enterprise applications. For developers, application servers provide an integrated set of core technical services and high-level frameworks. For administrators, application servers provide integrated management, operations, and deployment services and tools. Microsoft patterns & practices
Assembler An instance of the Mapper [Fowler03] pattern Fowler's discussion of the Data Transfer Object (DTO) pattern talks about using an assembler object to populate the DTO with data. Fowler03
Bound Data Control Dynamically binds a presentation or view component directly to the data it is presenting. Microsoft patterns & practices
Bridge Decouples an abstraction from its implementation so that the two can vary independently. Gamma95
Command(s) Encapsulates a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations. Gamma95
Decorator Attaches additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality. Gamma95
Facade Provides a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use. Gamma95
Gateway An object that encapsulates access to an external system or resource. Fowler03
Implementing Data Transfer Object in .NET with Serialized Objects Discusses implementation of Data Transfer Object using a .NET serialized object. Microsoft patterns & practices
Layer Supertype A type that acts as the supertype for all types in its layer. Fowler03
Layers Structures applications that can be decomposed into groups of subtasks in which each group of subtasks is at a particular level of abstraction. Buschmann96
Mapper An object that sets up a communication between two independent objects. Fowler03
Mediator Defines an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and lets you vary their interaction independently. Gamma95
MonoState Similar to Singleton but focuses on state rather than identity. Instead of controlling the instances of an object, MonoState ensures that there is only one shared state for all instances by declaring all data members static. Martin02
Observer Defines a one-to-many dependency between objects so that when one objects changes state, all its dependents are notified and updated automatically. Gamma95
Naming Service A well-known repository that maps external names to specific objects. Mowbray97
Page Data Caching An alternative to page caching that caches the data on which a page depends instead of caching the whole page (data plus content). Microsoft patterns & practices
Page Fragment Caching A refinement of Page Cache, where each page is composed of fragments and caching is controlled at the fragment level. Microsoft patterns & practices
Presentation-Abstraction-Controller Defines a structure for interactive software systems in the form of a hierarchy of cooperating agents. Every agent is responsible for a specific aspect of the application's functionality and consists of three components: presentation, abstraction, and control. This subdivision separates the human-computer interaction aspects of the agent from its functional core and its communications with other agents. Buschmann96
Proxy Provides a surrogate or placeholder for another object to control access to it. Gamma95
Remote Facade Provides a coarse-grained facade on fine-grained objects to improve efficiency over a network. Fowler03
Server Farm A set of servers that are fed requests from a load balancer. Microsoft patterns & practices
Special Case A subclass that provides special behavior for particular cases. Fowler03
Strategy Defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it. Gamma95
Table Data Gateway An object that acts as a Gateway to a database table. One instance handles all the rows in the table. Fowler03
Table Module A single instance that handles the business logic for all rows in a database table or view. Fowler03
Template Method Defines the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure. Gamma95
Utility Component A component that provides a commonly used low-level service such as persistence, logging, or lookup. Microsoft patterns & practices

patterns & practices Developer Center