Nach this definition, Fowler Das Konzept des anämischen Domänenmodell ist:Bedeutet ein anämisches Domänenmodell, dass Sie keine Dienstprogramm-/Supportklassen als "Helfer" für Ihr Domänenmodell verwenden können?
ein Software-Domain-Modell, wo die Business-Logik außerhalb implementiert ist die Domain-Objekte
und
Mit Dieses Muster, Logik ist in der Regel in separaten Klassen implementiert, die transformieren die st aß von der Domäne Objekte. Fowler ruft solche externen Klassentransaktionsskripte auf.
Wenn wir das Beispiel eines Einkaufswagens nehmen, wäre das Einkaufswagenobjekt das Domänenobjekt. Aber um den Einkaufswagen bis zur endgültigen Bestellung und Quittung zu verarbeiten, müssen Sie den Bestellbestand prüfen und die Kreditkartenzahlung abwickeln. Viele dieser Dinge erfordern Utility-Klassen, da alles innerhalb des Cart-Objekts zu tun hätte, dass die Cart-Klasse groß und schwerfällig wäre. Bedeutet das also, dass der Einkaufswagen in diesem Beispiel ein anämisches Domänenmodell wäre und diese Dienstklassen "Transaktionsskripte" gemäß der obigen Definition wären?
Verzeihen Sie meine Neugier, aber die Frage, wie ich es verstanden habe, war über das _anemic domain model_, die Methoden wie die oben genannten Purchase() in Domain-Klassen vollständig verbietet. Mit dem anämischen Domain-Modell haben die Domain-Klassen nichts mehr als Getter/Setter und Sie würden mit allen (!) Verhalten außerhalb der Domain-Klassen implementiert werden. Also, mit den oben genannten Annahmen, die Annahme der anämischen Domain-Modell wird Sie zwingen, Hilfs-/Utility-Klassen zu verwenden, da Sie keine andere Wahl haben! Warum nicht das Beste aus beiden Welten verwenden: Universelle Algorithmen im Domänenmodell und der Rest außerhalb! Stefan – struppi
@struppi - Warum sagen Sie Methoden wie die oben genannten Purchase() wäre verboten? Diese Methode wäre wahrscheinlich mehr als das Abrufen/Festlegen, da sie Geschäftslogik zum Ausführen des Kaufs enthalten würde. –