SOLID
SOLID is a simple set of principles for developing software. It is an acronym for other acronyms. What I describe below and in the linked articles are short summaries and example of using the various principles. If you want more (and probably better information) start with this [wikipedia] article and go from there.
- Single Responsibility Principle: only one reason to change
- Open/Closed Principle: open for extension, closed for modification
- Liskov Substitution Principle: a base class should be able to be replaced by a base class
- Interface Segregation Principle: smaller, specialized interfaces are better than larger, generic interfaces
- Dependency Inversion Principle: depend on abstractions