Object-Oriented Software Construction (Book/CD-ROM)
For any software engineer, developer or programmer interested in O-O software and programming.
This long-awaited revision retains the clarity, practicality and innovations that helped the first edition sell over 75,000 copies since 1988. Now over 1200 pages with a CD ROM full of object tools, this edition is fully revised and considerably expanded, making it THE definitive reference on the most promising software development in 30 years.
- most comprehensive coverage of O-O technology ever (1250 pages with CD ROM) - from one of the founders.
- an epic O-O book destined to become the source for object technology.
- Introduces object technology gradually, comparing it to non-object-oriented approaches, and explaining the benefit of every object-oriented mechanism for software quality and productivity.
- Uses a high-level notation (based on Eiffel) to introduce the concepts, and explains how to implement them in various environments and languages such as C++, Java, Smalltalk, Ada 95, and even non-0-0 languages such as C, FORTRAN, Pascal and Ada 83.
- Contains an abundance of examples and several in-depth case studies.
Table of Contents
PART A: THE ISSUES. 1. Software Quality.
2. Criteria of Object Orientation.
PART B: THE ROAD TO OBJECT ORIENTATION. 3. Modularity.
4. Approaches to Reusability.
5. Towards Object Technology.
6. Abstract Data Types.
PART C: OBJECT-ORIENTED TECHNIQUES. 7. The Static Structure: Classes.
8. The Run-Time Structure: Objects.
9. Memory Management.
11. Design By Contract: Building Reusable Software.
12. When the Contract is Broken: Exception Handling.
13. Supporting Mechanisms.
14. Introduction to Inheritance.
15. Multiple Inheritance.
16. Inheritance Techniques.
18. Global Objects and Constraints.
PART D: OBJECT-ORIENTED METHODOLOGY: APPLYING THE METHOD WELL. 19. On Methodology.
20. Design Pattern: Multi-panel Interactive Systems.
21. Inheritance Case Study: "undo" in an Interactive System.
22. How to Find the Classes.
23. Principles of Class Design.
24. Using Inheritance Well.
25. Useful Techniques.
26. A Sense of Style.
27. Object-Oriented Analysis.
28. The Software Construction Process.
29. Teaching the Method.
PART E: ADVANCED TOPICS. 30. Concurrency, Distribution, Client-Server and the Internet.
31. Object Persistence and Databases.
32. Some O-O Techniques for Graphical Interactive Applications.
PART F: APPLYING THE METHOD IN VARIOUS LANGUAGES AND ENVIRONMENTS. 33. O-O Programming and Ada.
34. Emulating Object Technology in non-O-O Environments.
35. Simula to Java and Beyond: Major O-O Languages and Environments.
PART G: DOING IT RIGHT. 36. An Object-Oriented Environment.
PART H: APPENDICES. Appendix A: Extracts From the Base Libraries.
Appendix B: Genericity Versus Inheritance.
Appendix C: Principles, Rules, Precepts and Definitions.
Appendix D: A Glossary of Object Technology.
Appendix E: Bibliography Index.
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.