Index of 'Design Techniques' articles
Here is an annotated list (in chronological order) of all the
articles published in the Design Techniques series:
Introduction to 'Design Techniques' (February 1998) --
The first installment of the Design Techniques column
introduces the column and discusses the larger issues involved in
designing Java programs. In addition, it examines the software
development process in general, describes the role of design within
that process, and looks at the various and competing goals of a "good"
software design. (4,500 words)
Object initialization in Java (March 1998) -- This article
describes in detail the process of object initialization in Java
programs. It discusses constructors, initializers, instance
initialization (<init>) methods, initialization and inheritance,
object images on the heap, and the order in which an object's variables
get initialized. It serves as a companion to the regular Design
Techniques installment, "Designing object
Initialization." (5,000 words)
Designing object initialization (March 1998) -- This installment of
Design Techniques begins with a quick look at object
design fundamentals, then goes on to discuss various approaches to
designing initializers and constructors so as to facilitate the proper
initialization of objects. (4,000 words)
Designing fields and methods (April 1998) -- This article shows how
some fundamental software design techniques, such as avoiding special data
values and minimizing method coupling, apply to Java. (4,000
words)
What's a method to do? (May 1998) -- This article shows how to
maximize method cohesion while avoiding method explosion. (3,500
words)
Object finalization and cleanup (June 1998) -- This article
discusses design guidelines that pertain to the end of an object's
life. (3,500 words)
Exceptions in Java (July 1998) -- This article gives an in-depth
account of exceptions in the Java language and virtual machine.
(6,000 words)
Designing with exceptions (July 1998) -- This article discusses
design guidelines concerning when and how to use exceptions.
(3,000 words)
Designing for thread safety (August 1998) -- This article discusses
design guidelines concerning when and how to make objects thread-safe.
(3,000 words)
The event generator idiom (September 1998) -- This article
discusses how and when to make a Java class observable. (3,000
words)
The canonical object idiom (October 1998) -- This article proposes
an idiom that defines a baseline set of functionality for objects.
(2,500 words)
Inheritance versus composition (November 1998) -- This article
discusses how to choose between inheritance and composition.
(2,500 words)
Designing with interfaces (December 1998) -- This article discusses
how to use Java's interface. (2,500 words)
Designing with dynamic extension (January 1999) -- This article
discusses how to use forName() and class loaders in
designs. (2,500 words)
Designing with runtime class information (February 1999) -- This
article discusses how to use all the information about an object's
class that is available at runtime. (3,500 words)
Designing with static members (March 1999) -- This article
discusses how to use static fields and methods. (1,500 words)