Loose Coupling
Favour Inheritance Over Composition
DRY – Don’t Repeat Yourself
YAGNI – You Ain’t Gonna Need It
Program to an interface
Law of Demeter
SRP – Single Responsibility Principle
OCP – Open Closed Principle
LSP – Liskov Substitution Principle
IoC/DI – Inversion of Control / Dependency Injection
Singleton
Command Pattern
Factory Pattern
MVC
MVP
Facade Pattern
