Software Engineering: A Modern Approach - Chapter 6 - Section 6.1 - Introduction to Design Patterns (AI-generated summary). Online book available at softengbook.org