This is a great podcast about 40 min in length discussing good software design practices acronym “SOLID”
Show page : http://www.hanselminutes.com/default.aspx?showID=163
Direct download : http://perseus.franklins.net/hanselminutes_0145.mp3
Solid stands for :
SRP (The Single Responsibility Principle)
A class should have one, and only one, reason to change more.
OCP (The Open Closed Principle)
You should be able to extend a classes behavior, without modifying it more.
LSP (The Liskov Substitution Principle)
Derived classes must be substitutable for their base classes more.
ISP (The Interface Segregation Principle)
Make fine grained interfaces that are client specific more.
DIP (The Dependency Inversion Principle)
Depend on abstractions, not on concretions more.
Enjoy,
Daniel.