Patterns, Models, and Application Development: A C++ Programmer's Reference, 1st Edition (Hardback) book cover

Patterns, Models, and Application Development

A C++ Programmer's Reference, 1st Edition

By Julio Sanchez, Maria P. Canton

CRC Press

448 pages

Purchasing Options:$ = USD
Hardback: 9780849331022
pub: 1997-10-24
SAVE ~$26.25
Currently out of stock
$175.00
$148.75
x

FREE Standard Shipping!

Description

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.

Table of Contents

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

Subject Categories

BISAC Subject Codes/Headings:
COM000000
COMPUTERS / General
COM051010
COMPUTERS / Programming Languages / General
COM051230
COMPUTERS / Software Development & Engineering / General