Introduction to structural design patterns