CoreLinux++
Functional Requirement Document Revision $Revision: 1.2 $ Last
Modified : Friday, February 4, 2000
Title : Builder Pattern
1. Introduction
Seperate the construction of a complex object from its
representation so that the same construction process can create
different representation.
1.1 Deliverables Overview
The participants in the Builder pattern include:
- Builder (libcorelinux)
-
Specifies an abstract interface for creating parts of a Product
object.
-
ConcreteBuilder (external)
-
Constructs and assembles parts of the product by implementing the
Builder interface, defines and keeps track of the representation it
creates, provides an interface for retrieving the product.
-
Director (external)
-
Constructs an object using the Builder interface.
-
Product (external)
-
Represents the complex object under construction, includes classes
that define the constituent parts, including iterfaces for
assembling the parts into the final result.
The CoreLinux++ team will deliver the Builder type.
The CoreLinux++ team will deliver the BuilderException type.
Users can utilize the participant abstractions or implementations
as a basis for creating their own Builder implementation outside of
the libcorelinux++ library.
2. Functional Requirements
The Builder type will:
Provide default constructors and virtual destructor.
Provide operator assignment and equality overloads.
The BuilderException type will:
Provide type for exception reasoning.
2.1 User Interface Specifications
NA
2.2 Product Services
NA
2.3 External Interfaces and Database Requirements
NA
2.4 Error Handling
Because the deliverables are not concrete, there is a non-issue,
but, there will be a BuilderException type.
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
See Use Case and Class Reports
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
|