Multi-Paradigm Design for C++

James O. Coplien

  • 出版商: Addison-Wesley Professional
  • 出版日期: 1998-10-23
  • 售價: $1,518
  • 貴賓價: 9.5$1,442
  • 語言: 英文
  • 頁數: 304
  • 裝訂: Paperback
  • ISBN: 0201824671
  • ISBN-13: 9780201824674
  • 相關分類: C++ 程式語言







Coplien offers insight into an analysis and design process that takes advantage of C++'s multiple paradigm capability, including classes, overloaded functions, templates, modules, procedural programming, and more. The book uses understandable notation and readable explanations to help all C++ programmers—not just system architects and designers—combine multiple paradigms in their application development for more effective, efficient, portable, robust, and reusable software. Multi-paradigm design digs deeper than any single technology or technique to address fundamental questions of software abstraction and design.

Back to Top

Appropriate Courses

C++--Intermediate Programming.

Back to Top


Table Of Contents


1. Introduction: The Need for Multiple Paradigms.


Domain Engineering and Multiple Paradigms.
Design, Analysis, Domains, and Families: Term Definitions.
Beyond Objects.
Commonality and Variability Analysis.
Software Families.
Multi-Paradigm Design.
Multi-Paradigm Development and Programming Language.
Commonality Analysis: Other Perspectives.

2. Commonality Analysis.


Commonality: The Essence of Abstraction.
Priming Analysis: The Domain Vocabulary.
Dimensions of Commonality and Commonality Categories.
Examples of Commonality.
Reviewing the Commonality Analysis.
Commonality and Evolution.

3. Variability Analysis.



Variability: The Spice of Life.
The Commonality Base.
Positive and Negative Variability.
The Domain and Range of Variability.
Binding Time.
Variability Tables.
Some Variability Traps.
Reviewing the Variability Analysis.
Variability Dependency Graphs.

4. Application Domain Analysis.



Analysis, Domain Analysis, and Beyond.
Subdomains within a Domain Analysis.
The Structure of a Subdomain.
Analysis: The Big Picture.

5. Object-Oriented Analysis.



About Paradigms and Objects.
Object-Oriented Commonality Analysis.

6. Solution Domain Analysis.



The "Other" Domain.
The C++ Solution Domain: An Overview.
Class Templates.
Function Templates.
Virtual Functions.
Commonality Analysis and Polymorphism.
Preprocessor Directives.
Negative Variability.
A Summary of the C++ Solution Domain: A Family Table.

7. Simple Mixing of Paradigms.



Putting It All Together: An Overview of Multi-Paradigm Design.
Activities of Multi-Paradigm Design.
Example: A Simple Language Translator.
Design, Not Analysis.
Another Example: Automatic Differentiation.
Outboard Paradigms.
Management Issues.

8. Weaving Paradigms Together.



Method and Design.
Commonality Analysis: What Dimension of Commonality?
Multiple Paradigms: Multiple Dimensions of Variability in One Set of Commonalities
Codependent Domains.
Design and Structure.
Another Example: A Finite-State Machine.
Pattern-Based Solution Strategies.

9. Augmenting the Solution Domain with Patterns.



The Value of Idioms and Patterns.
Commonality and Variability in Common Patterns.
Patterns of Negative Variability.
Multi-Paradigm Tools as a Patterns Adjunct.

Index. 0201824671T04062001

Back to Top