structuralpatterns.pdf