Recommended Reading

A couple of people have contacted me asking for a list of reading materials that I recommend for people who are looking to dive more into the development of layered enterprise applications. The following list is a small sampling of books that I think everyone will find some point of interest in:

  • [Head First Design Patterns]( - This is a great book from O’Reilly. The examples are java based, but that should not be an issue. This book does talk about patterns and their applicability. It does, however, also discuss the dangers of ‘patternitis’ and how patterns at the end of the day are just another tool in a developers toolbox. More importantly, this book gives developers new to OO development a solid grounding in some basic OO design principles, and shows how the application of these few principles alone can lead to more solid object models.
  • [Refactoring]( - The one stop reference for all you need to know to get started refactoring applications. An awesome book, written by a brilliant author. Show how to practically apply refactoring to improve the design of your code base.
  • [Patterns Of Enterprise Application Architecture]( - Great book that talks about patterns that developers often can utilize when building enterprise applications.
  • [Applied .Net Framework Programming]( - Want to learn all there is to know about the architecture and inner working of the .Net framework. This is the book.
  • [Design Pattern (GOF)]( - The original work on patterns. This is a great reference book that can give you a good grounding in the usage of design patterns.
  • [Domain Driven Design]( - Want to build true rich domain object models. This is an absolute must read. I love the segment that talks about the much over-used ‘Smart UI’ Anti Pattern.
  • [Pragmatic Version Control Using Subversion]( - Often people forget the importance of a good version control system when building applications. Subversion is currently my favorite version control software, and best of all it is free. Lots of hands on examples of how to set up your repository structure, as well as practical, pragmatic advice on how to actually utilize subversion (and version control) on a day to day basis.
  • [Programming .Net Components 2nd Edition]( - Excellent book covering many of the topics that often go unmentioned (or weakly covered) in many other .Net offerings.

Well, I think that is enough for now. I will post more books at a later time.