2008-12-11 6 views
38

Was ist Domänenlogik? Die Wikipedia-Seite für Domänenlogik leitet zur Geschäftslogik um. Sind sie das gleiche und wenn nicht, wie unterscheiden sie sich?Was ist Domänenlogik?

+0

Hier ist ein Blog-Beitrag zu diesem Thema: http://enterprisecraftsmanship.com/2016/08/25/what-is-domain-logic/ – Vladimir

Antwort

28

Die Domäne ist, was Sie modellieren.

Wenn Sie ein Geschäftsproblem modellieren, sind sie das Gleiche.

Wenn Sie etwas anderes modellieren, zum Beispiel Physik, gibt es wahrscheinlich keine Geschäftslogik in Ihrem System, aber die physikalischen Teile sind immer noch Domänenlogik.

+0

Ist Geschäftslogik eine Teilmenge der Domänenlogik? Dies scheint der Antwort von Brian Knoblauch zu widersprechen, wenn das der Fall ist: – Sydius

+1

Ich würde Brian Knoblauch's Antwort nicht falsch nennen, es ist nur eine etwas engere Sicht auf das Konzept. Wenn Sie ein CRM-System aufbauen, ist Ihre Problemdomäne CRM und Ihre Domänenlogik ist eine Geschäftslogik, die für den CRM-Bereich spezifisch ist. – jakber

3

Geschäftslogik für einen bestimmten Bereich/Fachbereich.

+0

So ist Domain-Logik eine Teilmenge der Geschäftslogik? Dies scheint Jakbers Antwort zu widersprechen. – Sydius

33

Domain ist die Welt, in der Ihre Anwendung lebt. Wenn Sie beispielsweise an einem Flugreservierungssystem arbeiten, wäre die Anwendungsdomäne Flugreservierungen.

Business Logic auf der anderen Seite ist ein diskreter Block der gesamten Anwendungsdomäne. Business-Logik ist normalerweise ein Chuck von Code, der für die Ausführung eines bestimmten Geschäftsprozesses erstellt wurde. Sie hätten also Geschäftslogik, um eine Reservierung zu machen. Ein anderes Stück Geschäftslogik wäre Code, um stornierte Tickets zurückzuzahlen.

Die Objekte, die Ihren Geschäftsprozess unterstützen, werden dann zu Ihren Geschäftsobjekten!

0

Meine Domäne ist Pharma. Es befasst sich mit Kompartimenten, Dosierungen, Differentialgleichungen und Statistiken. Wenn du das mein "Geschäft" nennen willst, dann denke ich, es ist "Geschäftslogik".

3

Domänenlogik gilt für die Problemdomäne, z. "Auftragsabwicklung". Domänenlogik bezieht sich auf die Entitäten, mit denen Sie arbeiten (das Objektmodell) und ihre Beziehungen.

Geschäftslogik enthält für Ihren Kontext spezifische Regeln, z. "Bestellungen von Kunden der Gruppe X sollen mit Rabatt Y bei Überschreiten des Betrags Z bearbeitet werden". Bei der Geschäftslogik geht es um die Codierung von Fakten zu Ihrem Unternehmen (oder dem Geschäft des Kunden, der das Programm verwendet).

1

würde ich die Business-Logik sagen bezieht sich auf:

Alle Einheiten Logik oder Assoziation zwischen der Domain.

Wie verhält sich ein Student zu einer Klasse oder einem Schüler? Wie wird eine neue Klasse erstellt und wie registrieren Sie einen Schüler für diese Klasse?

Alles, was mit Geschäftsregeln zu tun hat, Bestimmung von Ergebnissen, Diensten, Ereignissen, Prozessen, Berechnungen, Transformation und damit verbundenen Datenmanipulationen/-erstellung.

Ich habe es schwer gefunden, gute Bücher/Lehrer zu finden, um die Domänenlogik zu strukturieren. Es ist einfach, die Domain zu strukturieren. Aber die Domänenlogik scheint mir ein Ort zu sein, den niemand gehen will.

8

Geschäftslogik ist teleologisch (mit, wie ein Ziel zu erreichen), während Domain Logik ontologischer ist (was existiert, oder das Objektmodell, das mit verwendet, um der Vernunft)

+4

Wenn sie anders sein sollten, denke ich, das wäre die beste Antwort darauf, wie. Domänenlogik würde Ihre verschiedenen Domänenobjekte und ihre Beziehung zueinander einkapseln. Business-Logik würde beschreiben, wie jedes Objekt diese Beziehungen verwendet, um ein bestimmtes Ziel zu erreichen. –

+1

Die klarste Antwort bisher, danke! In dieser Hinsicht würde sich die Datenschicht mit der Persistenz (und dem Zugriff, der Abfrage usw.) von Objekten der Domänenlogik befassen, nicht wahr? – boramalper

0
  • Geschäftslogik mit der Koordinierung gültige Interaktionen betreffen zwischen Ansicht und Modell (UI und Daten).
  • Bei Domain Logic handelt es sich um eine intern konsistente Modelldarstellung auf beiden Seiten der App (Client und Server).
3

Lassen Sie uns ein Szenario abdecken.

Sie haben einen Kunden für XYZ-Beschränkung und er möchte, dass Sie sein System online stellen.
Wo Nutzer online bestellen können, verfolgen sie, machen Zahlung usw.

Für einen Kunden Sicht wäre dieses System Geschäftsidee während „Bestellung online“ genannt werden, sagte einer der sein Geschäftsprozess und wenn Benutzer Auftrag online bestellen, Kunde will jedes Detail des Benutzers, will es auf dem Bildschirm anzeigen usw. sagte Business Logik.

Jetzt werden Sie seine Geschäftsidee in Ihrer Sicht in einer Art und Weise modellieren, dass Ihr System alle seine Geschäftsprozess oder seine komplette Geschäftsidee, sagte erreichen kann Problem Domain oder Anwendungsdomäne oder Domain Ihrer sein Anwendung.

Jetzt identifizieren Sie zuerst alle Geschäftsprozesse. Und identifizieren Sie Entitäten oder Objekte, um Geschäftsprozesse zu erledigen. Diese Object soll Business Obect oder Domain-Objekt und Methode oder Logik, die Geschäftsprozess wie PlaceOrder zu implementieren, sagte Domain Logic sein.

So Business-Logik ist, was Kunde will, weil seine in Client-Business-Bereich und Domain Logik ist, wie Sie es umsetzen. weil es in Ihrer Anwendungsdomäne ist.