Adaptive Code: Agile coding with design patterns and SOLID principles, 2nd edition

Published by Microsoft Press (April 12, 2017) © 2017

  • Gary McLean Hall
  • Gary McLean Hall



  • Available for purchase from all major ebook resellers, including
  • To request a review copy, click on the "Request a Review Copy" button.

  • A print text (hardcover or paperback) 
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including

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)
This Second Edition expands from 12 to 14 chapters, and all chapters are revised and updated. New coverage includes Kanban for BAU, Domain-Driven Design, Hexagonal Architecture, Test-Driven Development, and Test-First methodology. The Second Edition also includes expanded coverage of unit testing, refactoring, and Pure Dependency Injection.
  • 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

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.

Need help? Get in touch

Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.