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 : Friday, February 4, 2000

Title : Builder Pattern

Requirement ID: 5096
Analysis References: Use Case Report, Analysis Diagram
Design References: Class Report, Design Diagram
Cross References: AbstractFactory

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:

  1. Provide default constructors and virtual destructor.

  2. Provide operator assignment and equality overloads.

The BuilderException type will:

  1. 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
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