Eine organisatorische OOP-Frage.
Ich habe in einem Projekt ein Interface, das ein Such-Plugin definiert.
Es besitzt funktionen wie
show_info ()
show_help ()
search( $term, $options)
handle_error ($error)
und so weiter.
Es wird unbegrenzt viele Implementationen von diesem Interface geben - eben eine beliebige Anzahl von Such-Plugins.
Aus den Such-Plugins setzen sich später die einzelnen Bereiche der Suchfunktion eines Portals zusammen: Suche in Bereich X, Suche im Branchenbuch, und so weiter.
Es reicht aber nicht, daß die Plug-ins einfach nur das Interface implementieren. Es gibt nämlich Funktionen, die ich vordefinieren möchte, z.B. eine generische Implementation von handle_error().
Dafür muß ich eine Basisklasse anlegen, in der ein generisches handle_error() definiert ist und so weiter. Alle Such-Plugins werden Abkömmlinge dieser Basisklasse und implementieren weiterhin das Interface.
Die Basisklasse selbst ist aber nicht funktionsfähig, dient also nur als purer "Funktions-Lagerort".
Kennt jemand für diese Art Basisklasse in der OOP eine spezielle Bezeichnung?
Ich will wissen, wie ich den entsprechenden Ordner am besten benenne.
Ich habe in einem Projekt ein Interface, das ein Such-Plugin definiert.
Es besitzt funktionen wie
show_info ()
show_help ()
search( $term, $options)
handle_error ($error)
und so weiter.
Es wird unbegrenzt viele Implementationen von diesem Interface geben - eben eine beliebige Anzahl von Such-Plugins.
Aus den Such-Plugins setzen sich später die einzelnen Bereiche der Suchfunktion eines Portals zusammen: Suche in Bereich X, Suche im Branchenbuch, und so weiter.
Es reicht aber nicht, daß die Plug-ins einfach nur das Interface implementieren. Es gibt nämlich Funktionen, die ich vordefinieren möchte, z.B. eine generische Implementation von handle_error().
Dafür muß ich eine Basisklasse anlegen, in der ein generisches handle_error() definiert ist und so weiter. Alle Such-Plugins werden Abkömmlinge dieser Basisklasse und implementieren weiterhin das Interface.
Die Basisklasse selbst ist aber nicht funktionsfähig, dient also nur als purer "Funktions-Lagerort".
Kennt jemand für diese Art Basisklasse in der OOP eine spezielle Bezeichnung?
Ich will wissen, wie ich den entsprechenden Ordner am besten benenne.
Kommentar