-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Flera delar av systemet innehåller komplex if-elselogik för att hantera olika algoritmer och regler. Detta gör koden svår att läsa, underhålla och utöka. Med Strategy Pattern kan olika algoritmer och valideringsregler kapslas in i separata strategier och väljas dynamiskt baserat på context.
- Problemområden
Availability checking innehåller hårdkodad logik som är svår att byta ut eller testa.
Price filtering implementeras med villkorslogik i stället för separata strategier.
Validation rules är fastkodade, vilket begränsar flexibilitet.
Search algorithms är inbyggda direkt i services.
Förslag till åtgärder
Introducera Strategy Pattern för att hantera:
Availability kontroller.
Filterstrategier (exempelvis pris, datum, plats).
Valideringsregler.
Sökalternativ/algoritmer.
Låt services ta emot rätt strategi via dependency injection.
Bygg ut med enhetstester för att säkerställa korrekt beteende hos varje strategi.
- Förväntad effekt
Eliminerar komplex och svåröverskådlig if-else-logik.
Systemet blir utbyggbart nya algoritmer och regler kan läggas till utan att ändra befintlig kod.
Förbättrad modularitet, testbarhet och flexibilitet.