introduction to the concept of design patterns 6234517