Home|News blank.gif
When Design Matters CoreLinux++ CoreLinux Consortium
blank.gif
CoreLinux++
blank.gif
Goals
blank.gif
Developer's Corner
blank.gif
Contacts

CoreLinux++ Functional Requirement Document
Revision $Revision: 1.2 $
Last Modified : Saturday, January 22, 2000

Title : Decorator Pattern

Requirement ID: 3144
Analysis References: Use Case Report, Analysis Diagrams
Design References: Class Report, Design Diagrams
Cross References:

1. Introduction

Sometimes a client will want to add responsibilities to individual objects, not to an entire class. To accomplish this dynamically, the Decorator object encloses the component in another object that adds the desired responsibilities. The Decorator conforms to the interface of the component it decorates so that its presence is transparent to the client.

1.1 Deliverables Overview

The participants in the Decorator pattern include:

Component
Defines the interface for objects that can have responsibilities added to them dynamically.
ConcreteComponent
Defines an object to which additional responsibilities can be attached.
Decorator
Maintains a reference to a Component object and defines an interface that conforms to Component's interface.


The deliverable is mostly vacuous in that we want to capture the participants abstractions.

The CoreLinux++ team will deliver Decorator implementations for specific cases as needed.

Users can utilize the participant abstractions as a basis for creating their own Decorator implementation outside of the libcorelinux++ library.

2. Functional Requirements

Decorator and participants will be publicly available for extension.

2.1 User Interface Specifications

NA

2.2 Product Services

NA

2.3 External Interfaces and Database Requirements

NA

2.4 Error Handling

NA

2.5 Foreseeable Functional Changes and Enhancements

NA.

3. Non-Functional Requirements

Precondition constraints: None

Postcondition constraints: None

Invarient constraints: None

3.1 Performance Requirements

NA

3.2 User Documentation and Other User Aids

This Document

Analysis Use-Case diagrams

Design class diagrams

3.3 Development Requirements

Standards: CoreLinux++ C++ Standards and Guidelines

Will be part of the libcorelinux++ shared library.

3.4 Foreseeable Non-Functional Changes

NA

4. Remarks and Guidelines for Later Life Cycle Phases

TBD

5. Term Glossary

TBD


Copyright © 1999, 2000 by CoreLinux Consortium
This material may be distributed only subject to the terms and conditions set forth in the Open Publication License
Contacts
- contact the webmaster
News
Powered / Hosted by

SourceForge.net
Contributor
NoMagic, inc.
thanks Gary!
Cool OO Sites
cetus
corba
omg
patterns
  Made with xemacs / php Comments to webmaster blank.gif