Mailinglisten-Archive |
Hallo Liste, tut mir leid, dass ich die Ruhe an diesem schönen Sonntag stören muss, aber ich hab da mal ne Frage. Ich habe eine Haupt-Klasse coreWebsite, von der sich andere Klassen (coreForm, coreList) ableiten. Das Ganze sieht in etwa so aus: coreWebsite | +----> coreForm | +----> coreList coreWebsite stellt die grundlegenden Methoden bereit. coreForm stellt zusätzliche Methoden für Formularverarbeitung und coreList für die Anzeige von Listen bereit. Das Ganze funktioniert auch prima. Derzeit werden diese Klassen nur für ein einziges Projekt verwendet. Nun möchte ich diese Klassen aber auch für andere Projekte wieder verwenden. Meine Idee ist nun, jeweils neue abgeleitete Klassen einzurichten, in denen dann die projektspezifisch geänderten Methoden enthalten sind. coreWebsite | +----> localWebsite | +----> coreForm | | | +----> localForm | +----> coreList | +----> localList Mein Problem ist nun, dass die in localWebsite projektspezifisch geänderten Methoden, nicht in localForm verfügbar sind, weil localForm ja von coreForm und nicht von localWebsite abgeleitet wird. Eine Klasse lässt sich ja nie von zwei anderen Klassen ableiten. Eine erste Idee war, die projektspezifisch geänderten Methoden in localWebsite auch in localForm zusätzlich aufzunehmen. Dies möchte ich aber vermeiden, weil ich dann ja redundaten Code hätte und bei Änderungen aufpassen muss, dass es nicht zu Inkonsistenzen kommt. Eine weitere Idee von mir war, dass ich die geänderten Methoden in localWebsite in separaten Dateien vorhalte und innerhalb der Klassen dann inkludiere. Aber ich weiss nicht, ob das so schlau ist. Gibt es für solche Probleme ein entsprechendes Pattern, dass ich nicht kenne? Bin für jeden sachdienlichen Hinweis dankbar. Noch einen schönen Sonntag. Viele Grüsse, Ralf
php::bar PHP Wiki - Listenarchive