- The DRY principle (Don't Repeat Yourself). Published originally in The Pragmatic Programmer, an abbreviated version is available in this pdf.
- Robert Martin's SOLID principles:
- Single Responsibility Principle (SRP) - pdf.
- Open Closed Principle (OCP) - pdf.
- Liskov Substitution Principle - pdf.
- Inversion of Control - martin fowler's article, msdn article.
- Dependency Inversion Principle - pdf.
- Principles of package design - an excellent pdf that covers:
- Principles of package cohesion:
- Reuse-release Equivalence Principle
- Common Reuse Principle
- Common Closure Principle
- Principles of package couping:
- Acyclic Dependencies Principle
- Stable Dependencies Principle
- Stable Abstractions Principle
Friday, 23 February 2007
Principles of software development
My blog reading (Jeff Atwood, Scott hanselman) the past few weeks has turned up some excellent articles on principles of software development. For ease of reference, I've grouped them together here: