1995 21.06 1997

Vol.21 n°6 (#248) june 1996

(ddj_1996_06.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.16 MANAGING DYNAMIC OBJECTS IN C++

[author : Tom Cargill]

Dynamic objects in C++ are managed explicitly by the programs you write. The Localized Ownership pattern language Tom presents, however, does the job for you.

p.24 STL ITERATORS

[author : Dan Zigmond]

STL iterators—objects that function more or less like conventional pointers—are used as the interface to data structures. Dan explains how iterators are central to the C++ Standard Template Library.

p.34 REUSABLE BINARY ASSOCIATIONS IN C++

[author : Terris Linenbach]

Understanding relationships between objects is crucial to the success of any object-oriented software project. Terris presents a design for binary association that consists of both OMT and dynamic-model diagrams. He then implements the design in C++, using templates to promote code reuse.

p.42 AN ASYNCHRONOUS DESIGN PATTERN

[author : Allan Vermeulen]

The IOU pattern provides a simple, intuitive way to add asynchronous behavior to applications. Since the IOU pattern is independent of any specific concurrency mechanisms, it is applicable to many different concurrency methods—and it's implemented in Java.

EMBEDDED SYSTEMS

p.46 VHDL FOR HARDWARE DESIGN

[author : Phil Tomson]

VHDL is a hardware-description language that frees you from low-level details. Phil uses VHDL to design an interface between a PC's parallel-printer interface and a high-speed data-acquisition system that can generate several million 8-bit data samples per second.

NETWORKED SYSTEMS

p.56 REMOVING BLOCKING NETWORK I/O FROM WINDOWS PROGRAMS

[author : George F. Frazier and Derek Yenzer]

Deciding how to handle blocking I/O is essential when designing programs that use the Winsock interface. Our authors present a method for removing the blocking network I/O function calls without having to rewrite the application from scratch.

EXAMINING ROOM

p.64 EXAMINING BORLAND DELPHI 2.0

[author : Ted Faison]

Borland's recently released Delphi 2.0 environment supports 32-bit applications, client/server development, team programming, and more.

PROGRAMMER'S WORKBENCH

p.72 INSTANTIATING CODE PATTERNS

[author : Fred Wild]

SNIP makes it possible for you to build code patterns into your software. Fred discusses the use of patterns, and describes how you can use SNIP to define and instantiate code patterns.

p.78 APPLYING DESIGN PATTERNS TO POWERBUILDER

[author : Mark Nielsen and Nick Abdo]

In applying the Gamma/Helm Observer pattern to a PowerBuilder application, Mark and Nick show how design patterns can help PowerBuilder developers make good design decisions.

COLUMNS

p.93 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Tog on Software Design is on Michael's mind this month. He also looks at The Secret Guide to Computers and a new scripting language for the Internet.

p.99 C PROGRAMMING

[author : Al Stevens]

Encapsulation comes to Quincy 96 as Al starts by grouping debugger operations in a Debugger class. He then turns to "Herman," a general-purpose document-viewer program written in Visual C++ with MFC.

p.105 JAVA Q&A

[author : Cliff Berg]

How do you write a Java-based chat program? Cliff shows you how, starting with a C++ server and Java client.

p.107 ALGORITHM ALLEY

[author : Andrew Colin]

Decision trees are used in such diverse applications as bird-watching guides and medical-diagnostic programs. Andrew presents the ID3 algorithm, which uses an information-theoretic metric to build compact decision trees.

p.111 UNDOCUMENTED CORNER

[author : Scot Wingo and George Shepherd]

Scot and George show how you can customize the MFC print preview and print-status dialog. They also highlight some techniques for working with undocumented MFC classes that weren't really designed to be customized.

p.118 PROGRAMMER'S BOOKSHELF

[author : Tom Saltsman]

PowerBuilder books are in the spotlight, as Tom examines PowerBuilder 4: A Developer's Guide, Developing PowerBuilder 4 Applications, Third Edition, and Special Edition: Using PowerBuilder 4.

FORUM

p.10 LETTERS

[author : you]

p.136 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.126 OF INTEREST

[author : Monica E. Berg]