REVIEW - Program Development in Java - Abstraction, Specification, and Object-Oriented Design


Title:

Program Development in Java

Abstraction, Specification, and Object-Oriented Design

Author:

Barbara Liskov, John Guttag

ISBN:

Publisher:

Addison-Wesley Professional (2001)

Pages:

443pp

Reviewer:

Silvia de Beer

Reviewed:

April 2001

Rating:

★★★☆☆


After studying the first 200 pages of this book you have gained a refreshing understanding of basic principles

This book is intended for a second year programming course, a course that focuses on the object-oriented design and implementation of systems. Computing professionals who want to refresh their knowledge of modular design could also use it.

A strong point of the book is that it starts at the very (often ignored) basics, explaining two kinds of abstraction; abstraction by parameterization and by specification. These two types of abstraction are elaborated upon by explaining procedural abstraction, data abstraction, iteration abstraction, type hierarchies and polymorphic abstractions. It is explained how to write representation invariants of objects and abstraction functions. The explanations are supported by a lot of examples. The examples are written in Java, but the book is not a language tutorial.

After studying the first 200 pages of this book you have gained a refreshing understanding of basic principles to reason about the implementation of a class and its methods and how to represent the class in its source file in a consistent way that should lead to high quality code.

After a useful chapter on testing the book continues with requirements specifications, design and implementation. Those chapters are not much more than an introduction to these topics and would not scale to larger projects. They could be a good guidance to students' projects. The book finishes with a chapter on design patterns. I think it is a good idea to introduce students early to this topic, but this chapter is not more than an introduction to indicate what you have to study elsewhere. Recommended


Book cover image courtesy of Open Library.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.