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

  • Gary McLean Hall

Adaptive Code: Agile coding with design patterns and SOLID principles

ISBN-13:  9781509302581

Add to cart form
Free delivery
Free delivery

What's included

  • Paperback

    You'll get a bound printed text.


Write code that can adapt to changes.


By applying this book’s principles, you 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 over a decade of Agile consulting and development experience, McLean Hall has updated his best-seller 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


About You

This book is for programmers of all skill levels seeking more-practical insight into design patterns, SOLID principles, unit testing, refactoring, and related topics. Most readers will have programmed in C#, Java, C++, or similar object-oriented languages, and will be familiar with core procedural programming techniques.

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

For teachers

All the material you need to teach your courses.

Discover teaching material

Published by Microsoft Press (April 12th 2017) - Copyright © 2017