Over a million developers have joined DZone.

ASP.NET Design Patterns, Test Driven Development and Agile Development Book List

DZone's Guide to

ASP.NET Design Patterns, Test Driven Development and Agile Development Book List

· Agile Zone ·
Free Resource

Whatever new awaits you, begin it here. In an entirely reimagined Jira. 

[img_assist|nid=3823|title=|desc=|link=none|align=right|width=200|height=260]I've been collecting book recommendations on software design principles and patterns, test-driven development, and agile development. I wanted to share my current reading list with you in case you are interested in learning more about these topics. If you have any additional book recommendations -- please share!

Here's my current list of books:

Software Design Principles and Patterns Books

  1. Design Patterns : Elements of Reusable Object-Oriented Software
    by Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides
    This is the book known as the Gang of Four book and it is considered required reading if you want to learn about software design principles and patterns. Several people warned me that this book would be dense. Several people also warned me that the pattern terminology used in the book has changed significantly since the book was published in 1994. So far, this book has not caused any brain injury and I haven’t found it overly difficult to read.
  2. Head First Design Patterns
    by Elisabeth Freeman, Eric Freeman, Bert Bates, and Kathy Sierra
    This book makes the previous book understandable. It has really clear samples of each of the design patterns. This is a great book – it was a joy to read. There are only two things that I don’t like about it. I wish that it did not contain all of the cartoons. Also, I wish the samples were C#/VB.NET instead of Java. Troy Goode originally recommended this book to me.
  3. Framework Design Guidelines
    by Krzysztof Cwalina and Brad Abrams
    If you want to understand why the .NET framework was designed in the way that it is designed, then this is the book to read. The book introduces great phrases like “Fall into the pit of success”. By reading this book, I also learned the origin of the terminology Pascal Casing and Camel Casing.
  4. Refactoring: Improving the Design of Existing Code
    by Martin Fowler
    Martin Fowler’s book got everyone talking about better software design through refactoring. The book contains a catalog of more than 70 types of refactorings.
  5. Refactoring to Patterns
    by Joshua Kerievsky
    As the title suggests, this book combines a discussion of patterns and refactoring. I’ve been told that this is a super important book and that I should read it immediately.
  6. Patterns of Enterprise Application Architecture
    by Martin Fowler
    Another massively important book written by Martin Fowler. Contains a catalog of over 40 patterns that you should know when building enterprise applications.
  7. Domain Driven Design: Tackling Complexity in the Heart of Software
    by Eric Evans
    This book is devoted to the process of building software through patterns and refactoring.

Test-Driven Development Books

  1. Working Effectively with Legacy Code
    by Michael Feathers
    This book has received recommendations all over the place. It is the next book that I plan to read.
  2. xUnit Test Patterns
    by Gerard Meszaros
    This is a big, intimidating book. This book is supposed to do a good job clarifying testing terminology such as the distinction between mocks, stubs, dummies, doubles, etc.
  3. Test-Driven Development in Microsoft .NET
    by James W. Newkirk and Alexei A. Vorontsov
    This was one of the first books on Test-Driven Development that I read. I really liked the organization of the book. I like how the book presents walkthroughs of using TDD when testing ADO.NET and user interfaces.
  4. Test-Driven Development: By Example
    by Kent Beck
    The Kent Beck book on Test-Driven Development. This is a really enjoyable book to read. I was surprised that Kent Beck takes a very practical approach to using TDD. He even presents a few situations in which TDD does not make sense (testing concurrency and security).
  5. Pragmatic Unit Testing in C# with NUnit, 2nd Edition
    by Andy Hunt, Dave Thomas, and Matt Hargett
    This book covers using NUnit when building ASP.NET 2.0 applications.

Agile Books

  1. Extreme Programming Explained: Embrace Change
    by Kent Beck and Cynthia Andres
    The founding book of XP. I’ve been warned that the first edition of this book differs significantly from the second edition.
  2. Agile Principles, Patterns, and Practices in C#
    by Robert C. Martin and Micah Martin
    This is a dense but valuable book. The authors (father and son) do a great job of delving deep into the subject of software design principles and patterns. The code samples in this book are written in C#. Brian Henderson recommended that I read this book.

Almost all of these books were recommended by friends or colleagues. If you know of a good book related to these topics, please leave a comment.

New roadmaps, more flexible boards, and dozens of new integrations. And that's just the beginning.  


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}