tight encapsulation – properties (attributes)
lose coupling – relacja has-a poprzez interface a nie konkretny typ
– uwolnienie sie od szczegółów konkretnej implementacji na rzeczy interfejsów
– logikę przenosimy do interfejsu a sami wołamy tą samą metode
high cohesion – elementy są spójnie połączone pod względem np logiki, zwartość, komponent grupuje wszytskie
metody związane z konkretną funkcjonalnością.