Zitat von BlackScorp
Beitrag anzeigen
Wenn ich ein komplexes Problem habe, dann muss ich dieses Problem in Teilprobleme zerlegen. Und zwar solange, bis ein Teil-Problem nicht mehr komplex genug ist, um es weiter zu zerlegen. Das Prozedere lässt sich gut mit einer Mindmap darstellen und die benötigte Zeit entsprechend berechnen. Deine Teilschritte auf oberster Ebene sind jeweils immer UseCases. Darunter eine Mischung aus irgendwie verdrahteten Services (soweit ich das jetzt verstanden habe).
Tendentiell sind die "UseCases" bei nicht-trivialen Problemen von der eigentlichen Problemlösung mindestens 2 Ebenen entfernt - jedenfalls bei mir. Bei mir sind es Sub-Controller bzw. Composite Services.
Hier mal ein relativ oberflächlicher Prozess um Bestellungen einem Marktplatz verschiedener Clients zu beziehen:
Wie teilst du diesen Prozess in deinem Modell auf?
Zitat von BlackScorp
Beitrag anzeigen
Zitat von BlackScorp
Beitrag anzeigen
Zitat von BlackScorp
Beitrag anzeigen
Wie abstrahierst du das weg?
Sicher wäre es sauber zu sagen, Ja, dafür habe ich dediziertes Request-Objekt, dass einfach nur die selektierten Daten ausgibt und sich selbst um die komplexen Filter-Schritte kümmert. Was bleibt? Genau, ich kann den Controller jetzt mit 3 Zeilen Testcode statt 20 Zeilen testen. Allerdings brauche ich bei einem Request jetzt die 18 Zeilen und ich habe mindestens zwei Dateien statt einer.
Mal ehrlich. Wenn ich ein Produkt wie Magento entwickel, dann verstehe ich den Aufwand. Wenn die Anwendung nur für meine Firma ist, dann ist das rausgeschmissenes Geld.
Kommentar