DDJ, June 2000 -- Object-Oriented Design


FEATURES

THE METIS DESIGN METHODOLOGY

by César A. Gonzalez Perez and Pablo Criado Boado

Metis is an object-oriented development methodology that includes all the usual tasks found in a generic software project lifecycle.

OPEN SOURCE MEETS BIG IRON

by Pete Beckman and Gregory V. Wilson

The aim of the Software Carpentry project is to create a new generation of easy-to-use software engineering tools, and to document those tools and the working practices they are meant to support.

STATE PATTERNS & C++

by Julian Macri

In object-oriented design, objects can modify their behavior based on the current state of their attributes. State patterns abstract the ability for an object to change its behavior. Julian presents two ways the State design pattern can be implemented in C++.

XML, REFLECTIVE PATTERN MATCHING, AND JAVA

by Andrew Dwelly

Although the pattern matching available in Hex, the program Andrew presents here, is relatively simple, it is still powerful enough to perform sophisticated XML document processing.

AN OBJECT-ORIENTED UI FOR PERL

by Robert Kiesling

If you work with object-oriented languages, you are likely accustomed to user-interface objects that highlight the object-oriented features of a language's internal structures. Robert shows one way Perl's features can contribute to its usefulness in object-oriented projects.

WIN32 VERSION CONTROL

by Ping Ni and Mark Nelson

Faced with the problems created by scattered development teams, distributed objects, and dozens of DLLs and executables, Ping and Mark turned to Perl and C++ to give some muscle to the Visual Source Safe source-code version control system.

OBJECT-ORIENTED DESIGN IN PROCEDURAL ENVIRONMENTS

by Thomas E. Davis

Tom shows how you can apply some of the inherent cleanliness of object-oriented design to your procedural language projects. To illustrate, he designs an application for Motorola's PageWriter two-way pager.

EMBEDDED SYSTEMS

JAVA CUSTOM CLASS LOADERS

by Brian Roelofs

Custom class loaders create new possibilities for dynamic applications. Brian discusses how you can create your own class loader to read and load classes into the Java VM from any data source.

INTERNET PROGRAMMING

AN INTERNET TOOLBOX

by Ronn Ritke

Ronn examines a number of useful Internet tools, including packet-collection software, Internet-throughput software, ISP-measurement software, and the like.

PROGRAMMER'S TOOLCHEST

PARSING COMPLEX TEXT STRUCTURES

by Ian E. Gorman

A pattern language that includes recursive patterns and conditional pattern matching can handle complex text structures without supplementary programming. Ian uses the OmniMark pattern language from OmniMark Technologies to do a job that might otherwise be done with tools like lex and yacc.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Michael looks to the future of technology and society, and wonders if it will really be as bleak as a joyless Bill Joy thinks it will be.

C PROGRAMMING

by Al Stevens

While sitting by the side of the road, Al gets into his Quincy 2000 port and further considers using the Borland BCC32 C/C++ compiler as Quincy's compiler.

JAVA Q&A

by Jacob Gsoedl

Can you implement COM components using Java? Yes, and Jacob shows you how.

ALGORITHM ALLEY

by John Keogh

John presents and implements an algorithm for scaling child windows when the parent is resized. Although the example runs under the Win32 API, the algorithm and data structure are generally useful for scaling child windows on other platforms.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

Are Ecco and Liane the antidote for a deadly new strain of microvirus? Read and find out.

PROGRAMMER'S BOOKSHELF

by Jeff Cromwell

Jeff reviews Applied Software Architecture, by Christine Hofmeister, Robert Nord, and Dilip Soni; Software Architecture in Practice, by Len Bass, Paul Clements, and Rick Kazman; and Software Architecture: Perspectives of an Emerging Discipline, by Mary Shaw and David Garlan.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

edited by Nicholas Baran

OF INTEREST

by Nicholas Baran and Amy Lincicum

SWAINE'S FLAMES

by Michael Swaine