Designing with interfaces
One of the fundamental activities of any software system design is defining the interfaces between the components of the system. Because Java's interface construct allows you to define an abstract...
View ArticleDesign with dynamic extension
At the Second Annual JavaOne Developer Conference in 1997, I met a programmer from Mexico named Gerardo Horvilleur. Gerardo had created a product that he was publicizing from a booth on the convention...
View ArticleDesign with runtime class information
One of the cool things about Java's object model is that Java objects are "conscious": given a reference to an object, you can get information about that object's class. This "runtime class...
View ArticleDesign with static members
Although Java is object-oriented to a great extent, it is not a pure object-oriented language. One of the reasons Java is not purely object-oriented is that not everything in it is an object. For...
View ArticleFarewell to 'Design Techniques'
After 14 months of writing the Design Techniques column, the time has come for me to bring the column to a close. I'm saying farewell -- for a while.In this final installment of Design Techniques, I...
View Article