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. |
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 |