The 'event generator' idiom

In this installment of the Design Techniques column, Bill proposes the "event generator" as a Java idiom. The article provides a background on the concepts of patterns and idioms, describes the observer pattern, and demonstrates...

09/01/98

Design for thread safety

This installment of the Design Techniques column gives you design guidelines that pertain to thread safety. It provides a background on the concept of thread safety and shows several examples of objects that are and are not...

08/01/98

Designing with exceptions

This installment of the Design Techniques column discusses design guidelines that pertain to exceptions. It focuses primarily on how to decide when to use exceptions, and gives several examples from the Java API that illustrate...

07/01/98

Object finalization and cleanup

This installment of the Design Techniques column discusses the design guidelines that pertain to the end of an object's life. Columnist Bill Venners gives an overview of the rules of garbage collection, discusses finalizers, and...

06/01/98

What's a method to do?

In this installment of the Design Techniques column, brush up on how -- and why -- to divide a class's functionality among its methods. Ever the minimalist, Bill Venners demonstrates how to maximize method cohesion while keeping...

05/01/98

Designing fields and methods

This installment of the Design Techniques column shows how some fundamental software design techniques, like avoiding special data values and minimizing method coupling, apply to Java. (4,000 words)

04/01/98

Designing object initialization

This installment of the Design Techniques column 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...

03/01/98

Introduction to "Design Techniques"

This first installment of the new Design Techniques column introduces the column and discusses the larger issues involved in designing Java programs. In addition, we'll examine the software development process in general, describe the...

02/01/98

Load More