Postponing Decisions

An important aspect of design, one that is often learned only by extensive experience, is knowing what decisions must be made early, and what decisions can be safely ignored until later. A good rule of thumb is that any decision that is entirely encapsulated with a single component can be safely ignored. So, for example, we need not at this point decide how the user will identify recipes within the database. Will we have scroll bars and a window of text? Will we simulate a virtual book with thumb-holes and the ability to flip a page? Will we allow keywords and phrases as part of the search process? Or perhaps some combination of all of these.

We only need to note, at this point, that the user can somehow select a specific recipe out of a large collection.

[audio] 16 [real] 16 Text to accompany slide 16, in Chapter 2 of An Introduction to Object-Oriented Programming