Chapter 1. Object-oriented Design
In software development, design is often considered as the step done before programming. This isn't true; in reality, analysis, programming, and design tend to overlap, combine, and interweave. In this chapter, we will cover the following topics:
- What object-oriented means
 - The difference between object-oriented design and object-oriented programming
 - The basic principles of an object-oriented design
 - Basic Unified Modeling Language (UML) and when it isn't evil