13 Design

In preceding chapters, we have discussed the specification and implementation of individual abstractions. We have emphasized abstractions because they are the building blocks out of which programs are constructed. We now discuss how to invent abstractions and how to put them together to build good programs. Our approach will rely heavily on material presented earlier, especially our discussions of good abstractions and good specifications (for example, see Chapter 9).

13.1 An Overview of the Design Process

The purpose of design is to define a program structure consisting of a number of modules that can be implemented independently and that, when implemented, will together satisfy the requirements specification. This structure must ...

Get Program Development in Java: Abstraction, Specification, and Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.