Pattern til "nedarvning" af flere klasser samtidig
Hej,Hvis jeg har 2 abstrakte klasser, der indeholder noget logik som ikke nødvendigvis har noget tilfælles, hvordan samler jeg så de 2 abstrakte klassers metoder i én fælles klasse, men hvor det stadig er muligt at udbygge de abstrakte klasser ved at extende og tilføje metoder, og benytte de nye metoder i den fælles klasse.
Jeg kunne selvfølgelig blot have 2 klasser som extender de abstrakte klasser, og havde dem som variabler i den fælles klasse.
Men hvis andre klasser så skal tilgå de 2 klassers metoder igennem den fælles klasse, så skal den have metoder der kalder alle deres metoder.
Hvilket vil sige, at hvis slutbrugeren tilføjer metoder i de klasse der extender de abstrakte klasser, skal de også tilføje metodekald i den klasse der extender den fælles klasse, samt overstyre dens initialisering af de 2 klasser.
På forhånd tak.
Lidt ekstra info:
Jeg arbejder på et "framework", i et sprog som er nært beslægtede med C#, og det er derfor nødvendigt at slutbrugerne(som så er udviklere) skal rette så lidt som muligt i vores framework, da deres kode derved kan blive ødelagt når vi kommer med nye versioner.
Indtil videre benytter vi os primært af opsplitning i klasser(næsten til grænsen af det ekstreme) og erklære dem som abstrakte, så skal brugerne blot extende, og evt. tilføje ekstra logik.
Når vi så kommer med nye versioner, røre det meget sjældent ved deres implementering af løsningen.