Synopses & Reviews
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
This long-awaited new edition retains the practicality and scholarship that made best-seller, but it has been thoroughly revised and expanded all the major developments in the object oriented community.
This revised second edition of the text introduces new topics including client server and Internet, object-oriented databases, and design by contract. It aslo includes object-oriented methodology, encapsulation, dynamic binding, inheritance, memory management and abstract data types.
This is, quite simply, the definitive reference on the most important development in software technology for the last 20 years: object-orientation. A whole generation was introduced to object technology through the first edition of this book. This long-awaited new edition retains the qualities of clarity, practicality and scholarship that made the first an instant best-seller, but has been thoroughly revised and expanded. Among the new topics covered in depth are: Concurrency, distribution, client/server and the Internet; object-oriented databases; design by contract; fundamental design patterns; finding classes; the use and misuse of inheritance; abstract data types; and typing issues. The book also includes completely updated discussions of reusability, modularity, software quality, object-oriented languages, memory management, and many other essential topics. All software developers and computer science students, worldwide.
About the Author
BERTRAND MEYER is one of the pioneers of modern software engineering, whose experience spans both industry and academia. He has led the development of successful O-O products and libraries totaling thousands of classes. His Prentice Hall books include Object Success (an introduction to object technology for managers), Introduction to the Theory of Programming Languages, Eiffel: The Language, Object-Oriented Applications, and Reusable Software. He is a frequent keynote speaker at international conferences and consultant for Fortune 500 companies, editor of the Object-Oriented Series, associate member of the applications section of the French Academy of Sciences, chairman of the TOOLS conference series, and editor of the Object Technology department of IEEE Computer.
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.