DevConnections 2010–Being an Architect with Dino Esposito

08 November 2010

Dino Esposito

On the last day of DevConnections, I had the privilege of talking with Dino Esposito a leading expert in the realm of architecture practices in .NET. One of the things that struck me in our conversation was that everyone should consider the long term ramifications of developing apps haphazardly. He mentioned several principles that must be considered when architecting any application. The acronym he used was SOLID:

S – Single Responsibility Principle (Each object should have a single responsibility)

O – Open Closed Principle (Each object should be open for extension, but closed for modification)

L – Liskov Substitution Principle (All subtypes of an object can be substituted for that object without any issues)

I – Interface Segregation Principle (Objects should not be forced to depend on interfaces they do not use)

D – Dependency Inversion Principle (High level objects should not depend on low level modules and abstractions should not depend on details. In other words, use abstractions)

The one he emphasized the most was the dependency inversion principle. He used the phrase “program to the interface.” He said that while it does take a little extra leg work at the beginning, the dividends begin to come in during maintenance. Using the principles have certainly assisted me in building software that is happy to change on request.

How have these principles assisted you? Look forward to your answers.

As always, if there are any questions and/or comments, do not hesitate to contact me!

Seth Juarez
Email: sethj@devexpress.com
Twitter: @SethJuarez

no comments
No Comments

Please login or register to post comments.