Front matter
forewords
preface
acknowledgments
about this book
about the author
about the cover illustration
dramatis personae
Part 1. Flexibility
1 Complexity of object-oriented programming
1.1 OOP design: Classic or classical?
The design phase
UML 101
Explaining each piece of the class diagram
The implementation phase
1.2 Sources of complexity
Many relations between classes
Unpredictable code behavior
Not trivial data serialization
Complex class hierarchies
2 Separation between code and data
2.1 The two parts of a DOP system