Applying Design Patterns to Remove Software Performance Antipatterns: A Preliminary Approach