dedlfix: OOP Konflikt

Beitrag lesen

echo $begrüßung;

Wohin würden die Aufgaben kommen:

  • Trage Newsletter in die Datenbank ein

Klarer Fall für das Model.

  • Verschicke Newsletter an die E-Mail: xxx@xxx.xxx

Martin Fowler beschreibt in seinem Buch Patterns of Enterprise Application Architecture das Model als etwas, das alle Daten und Methoden enthält, die nicht für die Benutzerschnittstelle verwendet werden. E-Mail-Senden wäre also auch eine Aufgabe für das Model. Diese spezielle Aufgabe darf es durchaus an einen Spezialisten weiterleiten (selbständige E-Mail-Klasse, -Funktion, wasauchimmer).

Also sorgt das Model nur für die Datenbeschaffung oder auf für weitere Art von Verarbeitung?

Im Prinzip kümmert es sich um die gesamte Geschäftslogik, alles was hinter den Kulissen abläuft. Model, View und Controller sind Aufgaben. Sie müssen keineswegs immer als monolithisches Gebilde realisiert werden. Wenn beispielsweise die View sich ihr Template aus einer Datenbank holt, dann sehe ich die Datenbank für diesen Vorgang als Teil der View-Rolle. Auch wenn das gleiche physikalische DBMS vorher Daten für das Model geliefert hat. Für diese Aufgabe war sie Teil der Model-Rolle.

echo "$verabschiedung $name";