1st Edition

Patterns, Models, and Application Development A C++ Programmer's Reference

By Julio Sanchez, Maria P. Canton Copyright 1997
    448 Pages
    by CRC Press

    Patterns, Models, and Application Development, a new book from two experts in C++, integrates a methodology for program development and covers three main categories: object modeling as a program design tool, design patterns and their modeling in C++ language structures, and a discussion of the implementation of PC hardware-related features. It addresses the gap between the ability to code and the ability to program.

    Introduction
    About This Book
    Technical Level
    Target Audience
    About Coding and Programming
    Scope and Application
    Project Engineering Topics
    Object-Oriented Topics
    Topics in Programming Mechanics
    Part I - Project Engineering
    Chapter 1. Fundamentals of Systems Engineering
    Introduction
    Software Characteristics
    Principles of Software Engineering
    Software Engineering Paradigms
    Concurrent Documentation
    Chapter 2. System Description and Specification
    System Analysis Phase
    The Feasibility Study
    Requirements Analysis and Specification
    Tools for Process and Data Modeling
    Part II - Object Orientation
    Chapter 3. Foundations of Object-Oriented Systems
    History and Chronology
    Object-Oriented Fundamentals
    Classes and Objects
    A Notation for Classes and Objects
    Example Classification
    When to Use Object Orientation
    Chapter 4. Object-Oriented Analysis
    Elements of Object-Oriented Analysis
    Class and Object Decomposition
    Finding Classes and Objects
    Testing Object Validity
    Subsystems
    Attributes
    Methods or Services
    Instance Connections
    Message Connections
    Final Documentation
    Chapter 5. Object-Oriented Design
    Elements of System Design
    Hardware and Operating System
    User Interface Design
    The Software Development Environment
    Naming Conventions
    Modularization
    Critical Data Elements
    Critical Processing Elements
    Refinement of Classes and Objects
    Language-specific Concerns
    Error and Exception Handling
    Documentation Conventions
    Part III - C++ Programming Mechanics
    Chapter 6. Indirection
    Indirection in C++
    Indirect Addressing
    Pointer Variables
    Pointers to Arrays
    Pointers to Structures
    Pointer Arithmetic
    Pointers to Void
    Reference Variables
    Dynamic Memory Allocation in C++
    Pointers to Functions
    Compounding Indirection
    Chapter 7. C++ Object-Oriented Constructs
    Implementation Issues
    The Fundamental Notions
    Classes
    Overloading Functions and Operators
    C++ Implementation of Inheritance
    Friend Classes and Functions
    Objects
    Run-Time Polymorphism
    Templates
    Chapter 8. Reusability
    Reusability Modes
    Reusing Code
    Mechanisms for Code Reuse
    Design Reuse
    Chapter 9. Static Inheritance Constructs
    Inheritance in Object Orientation
    Inheritance Revisited
    Fundamental Constructs
    Applied Inheritance
    Chapter 10. Dynamic Binding Constructs
    Dynamic Binding Revisited
    Modeling Dynamic Binding
    Applying Inheritance
    Chapter 11. Object Composition Constructs
    Fundamental Notions
    Aggregation Constructs
    Acquaintance Constructs
    Preserving Encapsulation
    Combining Inheritance and Composition
    Dynamic Object Allocation
    Chapter 12. Class Patterns and Templates
    Introduction to Design Patterns
    A Pattern is Born
    Unifying Dissimilar Interfaces
    Aggregated Class Hierarchies
    Object Chaining
    String Handling Class Template
    Combining Functionalities
    An Object-classifier Template
    Composing Mixed Objects
    Recursive Composition
    Object Factories
    Chapter 13. Multifile Programs
    Partitioning a Program
    Multifile Support in C++
    Multilanguage Programming
    Mixing Low- and High-Level Languages
    Sample Interface Programs
    Bibliography
    Index

    Biography

    Julio Sanchez