Part 3. Nailing down large systems

 

In part 2, you learned the concepts that form a large part of software design, and in part 3, you’ll start to apply them. By building an application from scratch, you’ll see how software design concepts can be applied at various points in the development life cycle.

Although designing software that works—and works quickly—may be part of your goal, another part of the goal must be software that you and other developers can understand and maintain. This part of the book will show you that design is an iterative process with some wiggle room; there isn’t always a right or wrong answer, and there’s rarely a point at which you’re “done.” You’ll learn how to identify pain points in your code so that you can use what you’ve learned to minimize effort and maximize understanding.