A holistic look at GoF patterns