Design Patterns in Object-Oriented ABAP