Design Principles
dry
kiss
encapsulate what varies
program to an interface, not an implementation
favour composition over inheritance
SOLID
single responsibility principle
open/closed principle
Liskov substitution principle
interface segregation principle
dependency inversion principle
Backlinks
1. Wiki /wiki/