Appendix A: Pattlets


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

Pattlet

Solution

Reference

Four-Tiered Distribution

Refines Three-Tiered Distribution by separating the Web servers into their own tier.

Microsoft PAG (TBD)

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 frame-works. For administrators, application servers provide integrated management, operations, and deployment services and tools.

Microsoft PAG (TBD)

Pattlet

Solution

Reference

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 PAG (TBD)

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 PAG (TBD)

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

Pattlet

Solution

Reference

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 PAG (TBD)

Page Fragment Caching

A refinement of Page Cache, where each page is composed of fragments and caching is controlled at the fragment level.

Microsoft PAG (TBD)

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

Pattlet

Solution

Reference

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 PAG/CIS (TBD)

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 PAG (TBD)




Enterprise Solution Patterns Using Microsoft. NET 2003
Enterprise Solution Patterns Using Microsoft. NET 2003
ISBN: N/A
EAN: N/A
Year: 2004
Pages: 107

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net