DDJ October 1996 Object Oriented Programming


FEATURES

USABILITY AND CLASS LIBRARY DESIGN

by 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.

MULTIPLE INHERITANCE FOR DELPHI

by 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.

EXTENDING THE VISITOR DESIGN PATTERN

by 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.

COMPONENT OBJECTS AND DISTRIBUTED COMPUTING

by 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++.

PERSISTENCE FOR C++

by 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

OBJECT-ORIENTED FLOW DESIGN FOR EMBEDDED SYSTEMS

by 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

ATM SOFTWARE ANALYSIS AND DESIGN

by 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

EXAMINING THE NUTMEG CLASS LIBRARY

by 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.

EXAMINING THE LABOBJX REAL-TIME CHART CONTROL

by 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

PROGRAMMING PARADIGMS

by Michael Swaine

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

C PROGRAMMING

by 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.

JAVA Q&A

by Cliff Berg

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

ALGORITHM ALLEY

by 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.

UNDOCUMENTED CORNER

by 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.

PROGRAMMER'S BOOKSHELF

by 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

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

SWAINE'S FLAMES

by Michael Swaine

PROGRAMMER'S SERVICES

OF INTEREST

by Eugene Eric Kim