Objecten moeten verantwoordelijk zijn voor zichzelf en moeten deze verantwoordelijkheden duidelijk gedefinieerd hebben
Hoge Cohesie: De operaties binnen één routine moeten sterk gerelateerd zijn
Lage Koppeling: De relatie tussen verschillende routines moet zwak zijn
Zoek wat varieert en encapsuleer het
Probeer bij een project gefocust te blijven op het algemene probleem en laat je niet teveel afleiden door details.
Gebruik Overerving enkel selectief!
Probeer duplicatie van code tot het minimum te herleiden.