I had purchased the “Agile Principles, Patterns, and Practices in C#” (PPP) book by Robert C. Martin (aka Uncle Bob) at the beginning of August 2006 and began reading it, but soon began to think that a lot of it’s content was from the articles you can find on Object Mentor’s website (Uncle Bob’s company).  I stopped reading it.  I have read most if not all those articles already.  I had intended to go back to the book and articles and compare the differences and have not.

Object Mentor, mainly Michael Feathers (author of the VERY good book “Working Effectively with Legacy Software”), had visited the team that I’m currently about two years ago.  They had distributed mousepads that had the acronym SOLID on them.

S = Single Responsibility Principle (SRP) O = Open/Closed Principle (OCP) L = Liskov Substitution Principle (LSP) I = Interface Segregation Principle (ISP) D = Dependency-Inversion Principle (DIP)  *Each link will go to the original articles on Object Mentor’s site.

Each one of these principle has it’s own chapter in the PPP book.

I have been racking my brain as to what ISP was.  I decided to pick up the book again tonight and have compared it to the article.  The book has made a GOOD number of additions/refactorings to the articles.

I recommend the PPP book to any developer who wants clean, testable, and extensible code. The book has much more information than just these OOP principles.