Visitor Pattern Requirement
CoreLinux++
Functional Requirement Document Revision $Revision: 1.3 $ Last
Modified : Thursday, May 11, 2000
Title : Visitor Pattern
Requirement ID: 6599 Analysis
References: Design References: Cross References: Composite
Pattern
1. Introduction
Represent an operation to be performed on the elements of an
object structure. Visitor lets you define a new operation without
changing the classes of the elements on which it operates.
1.1 Deliverables Overview
The participants in the Visitor pattern include:
- Visitor
-
Declares a Visit operation for each class of ConcreteElement in the
object structure. The operation's name and signature identifies the
class that sends the Visit request to the visitor. That lets the
visitor determine the concrete class of the element being visited.
-
AbstractElement
-
Defines an Accept operation that takes a Visitor as an argument.
-
ConcreteElement
-
Implements an Accept operation that takes a visitor as an argument.
CoreLinux++ team will provide Visitor types, with use by Composite.
All applications are in the solution space.
2. Functional Requirements
The requirements will vary based on your domain solution.
2.1 User Interface Specifications
Domain defined
2.2 Product Services
Domain defined
2.3 External Interfaces and Database Requirements
Domain defined
2.4 Error Handling
Domain defined
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
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
|