Sponsored By Aspose - File Format APIs for .NET

Aspose are the market leader of .NET APIs for file business formats – natively work with DOCX, XLSX, PPT, PDF, MSG, MPP, images formats and many more!

OOP and Design Pattern Resources

 I received an email message via this blog for some help in identifying good recources on OOP and Design Patterns for those new to the concepts.  It has been awhile since I browsed the Internet for such resources and read new books specific to the subject, so I thought I would list resources that I have used in the past and invite others to add to the list via the comments.  After a couple of weeks or so, I will rewrite a second post with a complete list of everyone’s feedback that will be useful to everyone.  I really enjoy these topics, so I am interested in what people might suggest.


I have 5 books that really helped me with OOP and Design Patterns, which I believe are still relevant today:

  1. Applying UML and Patterns 3rd Edition by Craig Larman – This is a textbook used in classes that discusses assigning responsibilities to objects using GRASP ( General Responsibility Assignment Software Patterns ).  It has tons of information on OOP, Design Patterns, and Agile Development.  I absolutely love this book.  Good beginner book.

  2. Agile Software Development Principles, Patterns, and Practices by Robert Martin – The OOP concepts presented in this book are fantastic, but the examples in Java and C++ leave little to be desired.  That being said, if you can look beyond or through the code to capture the essence of the principles themselves, this is a great book.  More of an intermediate developer book.  A good stretch for a beginner.

  3. Design Patterns in C# by Steven Metsker – At the time I bought this book, I was just happy to find a design pattern book with only C# examples :)  Most design pattern books were in Java and C++ and I wasn’t skilled enough to grasp the material without seeing it in my preferred language.  Steven does a great job of going through all the important design patterns in C#, although I could do without so many examples involving rockets :)  A solid intermediate developer book and a good stretch for beginners.

  4. Patterns of Enterprise Application Architecture by Martin Fowler – Lives up to all the hype surrounding it.  I always find myself referring to this book, because it is a catalog of patterns like Design Patterns in C#, which makes it easy to get to the information you need quickly.  Now if he would only come out with C# and VB.NET versions.  Good for the intermediate developer.

  5. Domain Driven Design by Eric Evans – Great book that taught me a lot about domain modeling, n-layer design, and design patterns, but it was way past my grasp when I first bought it.  Regretted the purchase until I picked it up 8 months later after reading a few other books and then went “Aha!”  Clearly not a beginner book in my opinion, but a good book to read after you get a more solid grasp of the fundamentals and want to challenge yourself.  Solid intermediate developer book.

Those are all the books I have on the subject, and in my opinion, I feel lucky that I picked such good ones.  Aside from Applying UML and Patterns by Craig Larman, the others might be a bit of a stretch for developers new to OOP and design patterns, but they are all good nonetheless and I recommend them at some point.  I have heard good things about other books, but I will refrain from mentioning them here as I don’t have any personal experience with them.  Hopefully someone else will mention a good book on the subject.



List of OOP and Design Pattern related websites I remember from the past:

  1. Data and Object Factory – A list of common design patterns inspired by GoF ( http://www.dofactory.com/Patterns/Patterns.aspx ).

  2. Pattern Share – Bringing together software patterns from different authors ( http://www.patternshare.org/ ).

  3. Object Mentor – Various OOP articles based on Agile Software Development book mentioned above ( http://www.objectmentor.com/resources/listArticles?key=topic&topic=Design%20Principles )

  4. POEAA Catalog Online – ( http://www.martinfowler.com/eaaCatalog/index.html )


I am sure there are others.  Scott Ambler comes to mind for various data access patterns but after a bit of investigation I couldn’t find a good index of resources for him.



I have done a few chapter by chapter book reviews on a couple of books mentioned above that may be of help:


Raymond has a number of great articles:


Search CodeBetter.com on OOP and Design Patterns for related articles.

I know there has to be a number of great OOP and design pattern articles written by other people.  I just haven’t looked around in awhile.



If you know of any great resources on OOP and Design Patterns that can help new developers as well as others, please add a comment so I can collect them and repost a full compilation later.

Hope this helps either way.


This entry was posted in Design Patterns. Bookmark the permalink. Follow any comments here with the RSS feed for this post.

7 Responses to OOP and Design Pattern Resources

  1. Sam says:

    “Head First Design Patterns”.
    This is by FAR the most fun development related book I’ve ever read. And its the first time the design patterns have become clear to me. The GoF book is brilliant but to someone new to patterns its scary. This book, however, indroduces the patterns as problems and then takes you along a path of discovery to using a pattern to solve the problem.

  2. Jeremy D. Miller says:

    Try the Enterprise Solution Patterns for .Net guide at http://msdn.microsoft.com/practices/Topics/patterns/default.aspx?pull=/library/en-us/dnpatterns/html/esp.asp for as a source for Fowler’s PEAA MVC patterns applied specifically to .Net.

  3. Bilal Haidar says:

    That was a great post Dave, thanks a lot.


  4. Don Draper says:

    “Head First Design Patterns” is a great intro to patterns that finally turned the light on for me, and led me to discover the Fowler and Larman books you mention. I’ll also add Scott Ambler’s “Object Primer” (http://www.agilemodeling.com/) as a great resource for understanding how to come up with a model (recent edition also includes touch of C#).

  5. Steve says:

    A good book for people new to objects is Object Thinking by Dr. David West (http://www.microsoft.com/MSPress/books/6820.asp). There is very little code, but it is a good book to get you thinking different about objects.

  6. FYI, the 4 major principles article is a compilation of the other 4 articles you listed all combined together for easy viewing.

  7. Lorenzo says:

    I feel there’s no good example of MVC in ASP .NET could you explain how you would achieve what Fowler describes in POEAA which has a very good implementation IMHO in Ruby On Rails?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>