CoreLinux++
Functional Requirement Document Revision $Revision: 1.2 $ Last
Modified : Sunday, January 23, 2000
Title : Facade Pattern
1. Introduction
Structuring a system into subsystems helps reduce complexity. A
common design goal is to minimize the communication and dependencies
between subsystems. A Facade defines a higher-level interface that
makes the subsystem easier to use. This is also called a fat
interface in some cases, and delegation model.
1.1 Deliverables Overview
The participants in the Facade pattern include:
- Facade
-
Knows which subsystem classes are responsible for a request and
delegates client requests to the appropriate subsystem object.
-
The deliverable is mostly vacuous in that we want to capture the
participants abstractions.
The CoreLinux++ team will deliver Facade implementations for specific
cases as needed.
Users can utilize the participant abstractions as a basis for
creating their own Facade implementation outside of the
libcorelinux++ library.
2. Functional Requirements
Facade 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
|