Software Engineering: A Modern Approach - Chapter 6 - Sections 6.8 and 6.9 - Design Patterns: Strategy and Observer (AI-generated summary). Online book available at softengbook.org