1995 21.10 1997

Vol.21 n°10 (#252) october 1996

(ddj_1996_10.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.16 USABILITY AND CLASS LIBRARY DESIGN

[author : Arthur T. Jolin]

As systems grow more complex, the usability of class libraries and frameworks becomes more important. Arthur presents a set of guidelines for usability that have been arrived at over time, during actual class-library and framework development.

p.26 MULTIPLE INHERITANCE FOR DELPHI

[author : Roland Kaufmann]

Although complex, multiple inheritance can be handy from time to time. Roland implements multiple inheritance for Delphi 2.0 using the TLead class. Al Williams then adds a note on aggregation, containment, and derivation.

p.34 EXTENDING THE VISITOR DESIGN PATTERN

[author : Matthew Nguyen]

The primary purpose of the Gamma/Helm Visitor design pattern is to promote code reuse. Matthew extends the Visitor pattern by adding conditional intelligence.

p.38 COMPONENT OBJECTS AND DISTRIBUTED COMPUTING

[author : Jeff Rush]

Interoperable component objects are making distributed computing a reality by handling much of the complexity inherent in distributed systems. Jeff uses IBM's SOM to create desktop objects for the OS/2 Workplace Shell that use Distributed SOM (DSOM) to invoke methods on remote objects-all implemented in C++.

p.46 PERSISTENCE FOR C++

[author : David Channon]

Persistent objects are data elements that can live after the program that created them has stopped. David implements a persistent layer for C++, which does not include persistence as a language feature.

EMBEDDED SYSTEMS

p.54 OBJECT-ORIENTED FLOW DESIGN FOR EMBEDDED SYSTEMS

[author : Barry Kauler]

GOOFEE notation, the object-oriented methodology Barry presents here, uses a single graphical notation and diagram for every phase of design. For embedded systems, designs done with GOOFEE notation are readable and easy to develop.

NETWORKED SYSTEMS

p.70 ATM SOFTWARE ANALYSIS AND DESIGN

[author : Derek Cheung]

Derek examines how you can apply OMT for analyzing and developing software for a simple Asynchronous Transfer Mode (ATM) switch.

PROGRAMMER'S TOOLCHEST

p.80 EXAMINING THE NUTMEG CLASS LIBRARY

[author : Doug Garrett]

The Nutmeg class library for Java is an implementation of a Smalltalk Collection class library. Thought Inc.'s Nutmeg provides a variety of "smart," flexible array type objects to manage groups or sets of objects.

p.88 EXAMINING THE LABOBJX REAL-TIME CHART CONTROL

[author : Jonathan Williams]

In developing a real-time monitoring system, Jonathan needed to display up to five channels at one time, allow users to scroll through large data sets, and more. He selected SST's LabOBJX Real-Time Chart, a custom control (VBX) that can be used with Visual Basic, C++, and Delphi.

COLUMNS

p.99 PROGRAMMING PARADIGMS

[author : Michael Swaine]

What's the state of computer science today? Michael finds out, as he examines a book of the same name.

p.105 C PROGRAMMING

[author : Al Stevens]

Al hears from you on topics ranging from Setup versus Uninstall programs, Registry versus .INI files, and the Kevorkian algorithm. He then returns to MidiFitz, a MIDI program that reads an 88-key keyboard, parses the notes into chords in real time, and plays a matching bass line.

p.111 JAVA Q&A

[author : Cliff Berg]

How do you display media formats that Netscape does not support? Cliff presents an applet that makes this possible.

p.117 ALGORITHM ALLEY

[author : Dann Corbit]

Approximating the value of an integral is an important kind of calculation that's not nearly as hard as you think. Dann shows how simple it is to get good results, then discusses some new techniques that offer even better accuracy.

p.123 UNDOCUMENTED CORNER

[author : George Shepherd and Scot Wingo]

Understanding how drag-and-drop works at the Common Object Model (COM) level and how MFC implements drag-and-drop illustrates the power of COM, underscoring the kinds of things you can do by programming in it.

p.134 PROGRAMMER'S BOOKSHELF

[author : Warren Young]

Warren examines the now-classic Design Patterns: Elements of Reusable Object-oriented Software, by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, and the newly released Object-Oriented Design Heuristics, by Arthur J. Riel.

FORUM

p.8 LETTERS

[author : you]

p.12 NEWS & VIEWS

p.144 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.137 OF INTEREST

[author : Eugene Eric Kim]