Examples and definition of design patterns