Construcción de software orientado a objetos - Meyer, Bertrand (Prentice Hall, 1999)