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 : Sunday, February 6, 2000

Title : Proxy Pattern

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

1. Introduction

Proxy is applicable whenever there is a need for a more versatile or sophisticated reference to an object than a simple pointer. This requirement focuses on two (2) situations specifically:

Remote Proxy
Provide a local representative for an object in a different address space.
Protection Proxy
Controls access to the the original object.


Proxy is often used to describe Smart Pointers, which we treat differently in a seperate requirement.

1.1 Deliverables Overview

The participants in the Proxy pattern include:

Proxy
Maintains a reference that lets the proxy access the real subject. Provides an interface to Subject's so that a proxy can be substituted for the real object. Controls access to the real subject and may be resonsible for creating and destroying it.
Subject
Defines the common interface for RealSubject and Proxy so that a Proxy can be used anywhere a RealSubject is expected.
RealSubject
Defines the real object that the proxy represents.

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

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

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

2. Functional Requirements

Proxy 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