Multi-paradigm design for C++

Preface. 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. Summary. 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. Summary. 3. Variability Analysis. Variability: The Spice of Life. The Commonality Base. Positive and Negative Variability. The Domain and Range of Variability. Binding Time. Defaults. Variability Tables. Some Variability Traps. Reviewing the Variability Analysis. Variability Dependency Graphs. Summary. 4. Application Domain Analysis. Analysis, Domain Analysis, and Beyond. Subdomains within a Domain Analysis. The Structure of a Subdomain. Analysis: The Big Picture. Summary. 5. Object-Oriented Analysis. About Paradigms and Objects. Object-Oriented Commonality Analysis. Summary. 6. Solution Domain Analysis. The "Other" Domain. The C++ Solution Domain: An Overview. Data. Overloading. Class Templates. Function Templates. Inheritance. 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. Summary. 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. Summary. 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. Summary. References. Index. 0201824671T04062001