The definitive reference on the most important new technology in software!
“While the original version of OOSC is a classic, OOSC 2/E is destined to overshadow it and all other general introductions . . . literally an epic work.” —James C. McKim, Jr., Hartford Graduate Center
“Compelling. Extremely well-written and literate . . . I recaptured that same sense of intellectual excitement I felt reading the first edition for the first time.” —Paul Dubois, Lawrence Livermore National Laboratory, Editor, Scientific Programming Dept., Computers in Physics
“The definitive tome on Object-Orientation . . . the finest piece of writing and thinking about this vast subject . . . Bertrand has a lot to say of great importance and says it well in this significantly revised book.” —Richard Wiener, University of Colorado, Colorado Springs, Editor, Journal for Object-Oriented Programming
A whole generation was introduced to object technology through the first edition of Bertrand Meyer's OOSC. This long-awaited new edition retains the qualities of clarity, practicality and scholarship that made the first an instant best-seller. It has been thoroughly revised and considerably expanded. No other book on the market provides such a breadth and depth of coverage on the most important technology in software development.
SOME OF THE NEW TOPICS COVERED IN DEPTH BY THIS SECOND EDITION:
* Concurrency, distribution, client-server and the Internet.
* Object-oriented databases, persistence, schema evolution.
* Design by contract: how to build software that works the first time around.
* A study of fundamental design patterns.
* How to find the classes and many others topics of object-oriented methodology.
* How to use inheritance well and detect misuses.
* Abstract data types: the theory behind object technology.
* Typing: role, issues and solutions.
* More than 400 references to books, articles, Web pages, newsgroups; glossary of object technology.
* And many new developments on the topics of the first edition: reusability, modularity, software quality, O-O languages, inheritance techniques, genericity, memory management, etc.