patterns versus principles