Question

Hallo everybody

Recently I've been reading the book:

"Agile software development, Principles, Patterns and Practices" by Bob Martin

The following (S.O.L.I.D) agile-design-principles are listed within the book:

  • Single Responsibility Principle
  • Open Closed Principle Principle
  • Liskov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

Because of the fact that this book quite old(2003), I have a question:

  1. Are there any other newly developed principles besides the SOLID methods?? If yes, is there any book/site covering these new emerging principles with practical code examples that you could recommend to me??

Of course I can google for some of these.

However, in stackoverflow read and write many profis, so I would like to hear their opinion too :D

Was it helpful?

Solution

You may want to look at books such as Code Complete and Pragmatic Programmer as they also talk about some excellent development principles.

OTHER TIPS

I like the Domain Driven Design approach from Eric Evans:

As the SOLID approach you describe, DDD is mostly sound and clean Object Orientation guidelines. DDD focus especially on creating a design which match as much as possible with the business to be implemented in the system, rather than having it guided by the technology and/or the frameworks you use. This lead to great testable design, easy to refactor.

In support to DDD, I like the Hexagonal Architecture of Alistair Cockburn. It gives you great ideas about general design of Object Oriented systems:

A more advanced and innovative approach I am currently exploring is the theory of centers, but this is not yet really documented. A presentation about it:

UncleBob's book is a SOLID start ;) I'd add his Clean Code to your reading list too. For actual code construction it is a great tome.

Kindness,

Dan

You can find further design principles at http://www.objectmentor.com, the author's / Object Mentor's homepage. They were written around the same time as SOLID, you can find most of them at http://www.objectmentor.com/resources/publishedArticles.html.

This list is not for design principles only, but also an explanation of OOP, Agile architecture, design and practices, it is based on patterns of mistakes and a regular pain from my real projects, including both books and online articles:

Software Developer / Architect Recommended Reading

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top