[TYPO3-german] Was hab ich denn vom Domain Driven Design?

Chris Wolff - AERTiCKET AG cwolff at aer.de
Wed Dec 3 16:49:26 CET 2014


Hallo, BBB,

es ist eigendlich recht einfach. 

Das Model beschreibt ein Daten Object mit Gettern und Settern. Sowiso "validation" 
annoationen, eventeulle Relationen. (das  wird Standard mäßig dann auf eine datenbank tabelle gemapped.

Das Repository. (in dem man im einfachsten fall gar nix macht da alles ererbt wird) dient dazu Daten aus der datenquelle zu holen. Bzw dort hin zurück zu speichern.

Angenommen du hast also eine Ein Model "Person". Das definiert firstName and lastName als Properties. 

Kannst du dir alle alle Personen mit dem namen "mayer" ganz einfach aus dem Repository Holen.

$personCollection = $personRepository->findByLastName('mayer');

Das Repository legt für alle Model Properties "magische" findBy<Property> Methoden an. 

Und du musst dich darum nicht kümmern. Wenn du Komplexere Queries brauchs. Kann man die nötige query natürlich bauen. 
Und wenn man die regelmäßig braucht baut man eine entsprechende findBy Methode in das Repository ein.

Z.b. findByBirthYearRange($startYear,$endYear) diese Methode würde dann die "Query zusammen bauen" und das das Repository Abfragen.

Wenn ich hier von "query" rede meine eine ExtbaseQuery SQL sollte man nach Möglichkeit vermeiden.

Gruss chris

-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von N W
Gesendet: Mittwoch, 3. Dezember 2014 16:10
An: typo3-german at lists.typo3.org
Betreff: [TYPO3-german] Re: Was hab ich denn vom Domain Driven Design?

Hallo Miteinander,

  sehr vielen Dank für Eure durchweg konstruktiven und hilfreichen Antworten. Es ist für mich sehr interessant, Eure Standpunkte kennenzulernen und ich freue mich über Eure Literaturempfehlungen und Links.

Ich bin eigentlich C-Programmierer und arbeite meist auf sehr niedriger Abstraktionsebene an irgendwelchen Hardware-Schnittstellen oder Optimierungen. Von daher habe ich bei meiner täglichen Arbeit keine Berührungspunkte mit MVC, da eine derartige Kategorisierung ja erst auf höherem Abstraktionslevel Sinn macht (ich habe normaler Weise nur mit Controllern und kaum mit Views und Modellen zu tun).

Ich würde sehr gerne Systemkonform arbeiten und den neuesten Entwicklungsstand berücksichtigen, wenn ich denn hin und wieder mal Extensions programmiere. Ehrlich gesagt, weiss ich aber noch nicht einmal, welche Funktionen nach Domain/Model und welche nach Domain/Repository gehören. Ich würde am liebsten weiter nach der alten Methode arbeiten, möchte aber, dass meine Extensions für andere Programmierer verständlich sind und auch mit zukünftigen TYPO3-Versionen funktionieren.

Ich werde mich eingehend mit Euren Empfehlungen beschäftigen.

Danke und Gruß, bbb
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


More information about the TYPO3-german mailing list