Summary Contents PART I Introduction Chapter 1 What Is Design and Architecture? Chapter 2 A Tale of Two Values PART II Starting with the Bricks: Programming Paradigms Chapter 3 Paradigm Overview Chapter 4 Structured Programming Chapter 5 Object-Oriented Programming Chapter 6 Functional Programming PART III Design Principles Chapter 7 SRP: The Single Responsibility Principle Chapter 8 OCP: The Open-Closed Principle