Dealing with Changes: Using Functional Decomposition
Look a little closer at the problem of displaying shapes. How can I write the code so that it is easier to handle shifting requirements? Rather than writing one large function, I could make it more modular.
For example, in Step 4c on page 4, where I “Call appropriate function that will display shape, giving it the shape's location,” I could write a module like that shown in Example 1-1.
Example 1-1. Using Modularity to Contain Variation
function: display shape input: type of shape, description of shape action: switch (type of shape) case square: put display function for square here case circle: put display function for circle here |
Then, when I receive a requirement to be able to display ...
Get Design Patterns Explained: A New Perspective on 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.