Object-oriented software construction - Meyer, Bertrand 1950- (Prentice Hall, 1997)