Design Patterns in OO ABAP
Design Patterns in OO ABAP
Design
Patterns
In OO ABAP
Abid Ali
SAP Technical Consultant
Singleton Pattern
When to Use?
✅ Database Connection Management – Prevents multiple
unnecessary connections.
✅ Logging Framework – Ensures centralized logging.
✅ Global Configuration Settings – Stores system-wide
configuration.
✅ Cache Management – Avoids repeated calculations by
storing results.
Abid Ali
SAP Technical Consultant
Singleton Pattern
CLASS zcl_db_connection DEFINITION CREATE PRIVATE.
PUBLIC SECTION.
CLASS-METHODS get_instance RETURNING VALUE(ro_instance)
TYPE REF TO zcl_db_connection.
METHODS execute_query RETURNING VALUE(rt_data) TYPE TABLE
OF mara.
PRIVATE SECTION.
CLASS-DATA: go_instance TYPE REF TO zcl_db_connection.
ENDCLASS.
METHOD execute_query.
SELECT * FROM mara INTO TABLE rt_data UP TO 10 ROWS.
ENDMETHOD.
ENDCLASS.
Factory Pattern
When to Use?
✅ When you need multiple object instances dynamically
✅ When the object type is unknown at compile-time
✅ When object creation logic is complex
✅ When you want to decouple object creation from
implementation
Decorator Pattern
Observer Pattern
METHOD notify_observers.
LOOP AT observers INTO DATA(lo_observer).
lo_observer->update( ).
ENDLOOP.
ENDMETHOD.
ENDCLASS.
Facade Pattern
lo_sd->create_sales_order( ).
lo_mm->check_inventory( ).
lo_fi->create_invoice( ).
ENDMETHOD.
ENDCLASS.
Proxy Pattern
Thank You
& Keep
Reposting
SAVE AND
SHARE