OOontwerpproblemen
OOontwerpproblemen verwijzen naar problemen in het ontwerp van object-georiënteerde systemen die de kwaliteit, onderhoudbaarheid en uitbreidbaarheid negatief beïnvloeden. Ze ontstaan vaak door keuzes in relaties tussen klassen, verantwoordelijkheden en interfaces die niet goed bij elkaar passen.
Veelvoorkomende problemen zijn sterke koppeling tussen klassen, lage samenhang binnen klassen en ontoereikende abstractie. Dit maakt
Oorzaken liggen vaak in een gebrek aan encapsulatie, misbruik van polymorfisme, of het niet volgen van ontwerpprincipes
De gevolgen zijn onder meer moeilijk te testen code, code duplicatie, en hoge onderhoudskosten bij toekomstige
Oplossingen richten zich op het herverdelen van verantwoordelijkheden volgens het Single Responsibility-principe, het verkiezen van samenstelling