2010-02-19 13 views
13

Korrekte ich, dass der Zweck eines Service-Layers Folgendes beinhaltet?Zweck der Serviceschicht

  • Ausdünnen von Domänenmodelle (dh Verkehr bestimmter Funktionen wie in Caching, Instanziierung)
  • Reduktion in Abhängigkeiten von Domänenmodelle
  • API Minimierungs
+1

Ich habe meine Antworten .... durch das Lesen dieser Seite .... Danke für die Nachfrage. –

Antwort

14

In Bezug auf die Domain-Driven Design Der Domänen-Service-Layer wird beispielsweise für Vorgänge verwendet, die nicht im Kontext Ihrer Domain-Objekte definiert werden können. Wenn Sie zum Beispiel eine Objekt-Kreditkarte haben, wäre eine geeignete Operation in Ihrer Serviceschicht die Ausgabe einer neuen Kreditkarte. In größeren Anwendungen wird das Pattern Anemic Domain Models verwendet, wobei die Domain-Objekte nur als Datencontainer verwendet werden und die gesamte Geschäftslogik in Ihrer Domain-Service-Ebene liegt (dies wird manchmal als Anti-Pattern bezeichnet, kann aber sehr sein nützlich in großen Lösung, mit dem Hinzufügen einer anderen Abstraktionsschicht).

In unterschiedlichen Lösungsarchitekturen und -mustern kann die Serviceebene jedoch einen anderen Zweck haben.

16

Traditionell (wenn kein domänenbasiertes Design verwendet wird) ist die Serviceschicht oder Business-Schicht, wie sie auch genannt wird, die gesamte Geschäftslogik für Ihre Anwendung. So ist zum Beispiel in einer Anwendung, die sich mit der Vergabe von Bankkrediten befasst, der Service-Layer, über den der Code entscheidet, ob ein bestimmter Kredit vergeben wird oder nicht. Offensichtlich würde die Serviceebene einige Informationen über die Kreditnehmerin benötigen, um eine Entscheidung über ihre Glaubwürdigkeit treffen zu können. Um diese Informationen abzurufen, ruft die Business-Schicht die Ebene "Daten" oder "Repository" auf, die das Extrahieren und Speichern von Informationen in der Datenbank umfasst.

Die Service-Schicht befasst sich nicht mit Angelegenheiten wie Persistenz oder anderen Infrastrukturproblemen.

Wenn Ihr Design domänengesteuert ist, ist die Antwort von anthares wahr.

+0

Sehr klar und knackig ... Danke. –

4

Die Service-Schicht bietet, wie der Name vermuten lässt, Dienste, die nicht direkt von einem anderen Domänenobjekt übernommen werden.

Service Layer hilft auch bei der Entkopplung von Verantwortlichkeiten. Service Layer bildet den mittleren Teil zwischen Datenbank-/Persistenzschicht und der Client/UI/Web-Schicht.

Durch die richtige Gestaltung des Service Layers kann es von jedem Client verwendet werden, sei es ein Web Client oder ein Web Service (SOA) oder ein mobiles Gerät.