
Adaptive Code: Agile coding with design patterns and SOLID principles, 2nd edition
- Gary McLean Hall |
- Gary McLean Hall |
Title overview
By applying this book’s principles, students can create code that accommodates new requirements and unforeseen scenarios without significant rewrites. Gary McLean Hall describes Agile best practices, principles, and patterns for designing and writing code that can evolve more quickly and easily, with fewer errors, because it doesn’t impede change.
Now revised, updated, and expanded, Adaptive Code, Second Edition, adds indispensable practical insights on Kanban, dependency inversion, and creating reusable abstractions. Drawing on more than a decade of Agile consulting and development experience, McLean Hall has updated this edition with deeper coverage of unit testing, refactoring, pure dependency injection, and more.
Master powerful new ways to:
• Write code that enables and complements Scrum, Kanban, or any other Agile framework
• Develop code that can survive major changes in requirements
• Plan for adaptability by using dependencies, layering, interfaces, and design patterns
• Perform unit testing and refactoring in tandem, gaining more value from both
• Use the “golden master” technique to make legacy code adaptive
• Build SOLID code with single-responsibility, open/closed, and Liskov substitution principles
• Create smaller interfaces to support more-diverse client and architectural needs
• Leverage dependency injection best practices to improve code adaptability
• Apply dependency inversion with the Stairway pattern, and avoid related anti-patterns
- Bridges the gap between theory and practice, guiding students through applying key concepts to a pragmatic agile coding project
- New coverage includes: Kanban for BAU, Domain-Driven Design, Hexagonal Architecture, Test-Driven Development, and Test-First methodology
- Contains expanded coverage of unit testing, refactoring, and Pure Dependency Injection
- Packed with up-to-date C# examples (and written for developers using multiple languages)
Table of contents
- Chapter 1 Introduction to Scrum
- Chapter 2 Introduction to Kanban
- Chapter 3 Dependencies and layering
- Chapter 4 Interfaces and design patterns
- Chapter 5 Testing
- Chapter 6 Refactoring
- Chapter 7 The single responsibility principle
- Chapter 8 The open/closed principle
- Chapter 9 The Liskov substitution principle
- Chapter 10 Interface segregation
- Chapter 11 Dependency inversion
- Chapter 12 Dependency injection
- Chapter 13 Coupling, cohesion, and connascence
Author bios
Gary McLean Hall is a software developer, architect, and consultant with more than a decade of experience optimizing processes and practices in diverse Agile environments. He recently founded Igirisu to provide developer training for TDD, continuous integration, refactoring, design patterns, SOLID principles, and Git source control; cultural coaching towards Agile; and related services. His book, Adaptive Code via C# (Microsoft Press, 2014), has been translated into German, Japanese, and Korean, and won the Society for Technical Communications
Distinguished Award in 2015.