2010-03-02 12 views
6

Aus dem Titel, ich glaube, es ist eine einfache Frage, aber in die "Welt der Business Objects" schauen kann ich nicht scheinen, etwas fest, was ein Business-Objekt sollte sein. Gibt es Best Practices, denen ich folgen sollte, oder sogar Designmuster?Was definiert ein Business-Objekt

Ich habe ein Buch gefunden, "Expert C# Business Objects", wäre dies mein bester Ausgangspunkt, um ein besseres Verständnis zu bekommen?

+0

Der Fehler hier ist eine Kombination aus dem Begriff "Business-Objekt", der schlechte Grammatik ist und der angeborenen Verwirrung, die durch ein Substantiv und ein Verb im Englischen verursacht wird, die in der Schrift nicht zu unterscheiden sind. Richtig gesprochen sollte "object" "object" (die Verbform) sein und die Regeln für Subjekt/Verbvereinbarung schreiben vor, dass "business" "business" sein soll. Daher sollte der Begriff wirklich "Businesses Object" sein und man würde es in Schlagzeilen wie "Businesses Object to Proper Programing Practice" sehen. Oder ich mache Sachen. Du entscheidest. –

Antwort

5

Ein Geschäftsobjekt bezieht sich auf das Geschäftsverhalten oder Daten, die mit der Entität verknüpft sind, die es darstellt.

In einer Anwendung haben Sie Code, der tut, was die Anwendung tun soll (das Geschäft Zeug) und Code, der technisch ermöglicht, dass mit dem Benutzer ausgeführt werden und interagieren. Zum Beispiel wird in einem MVC-Muster der Geschäftskram der Job des Models sein.

Ich denke this erklärt es besser. Sie können auch das MVC-Muster betrachten und die Verantwortlichkeit jeder Ebene sehen. Sobald Sie das verstanden haben, wäre es einfacher zu erkennen, was als "Geschäftsobjekt" gilt.

+1

Der zitierte Wikipedia-Artikel steht im Gegensatz zu anderen populären Definitionen eines Geschäftsobjekts, wie es Rockford Lhotka in seinem Buch http://www.amazon.com/Expert-C-2008-Business-Objects/dp/1430210192 oder in der http://www.corej2eepatterns.com/Patterns2ndEd/BusinessObject.htm Ein Business-Objekt und ein Model repräsentieren getrennte Anliegen und sollten auch nicht synonym betrachtet werden. –

1

Vielleicht könnte ein konkretes Beispiel helfen. Angenommen, Sie schreiben eine Menüplanungsanwendung. Ihre Geschäftsobjekte wären Dinge wie Menu, Ingredient, UserAccount, Invoice - diese Objekte, die die Logik Ihres Geschäftsmodells kapseln.

Dinge, die keine Geschäftsobjekte sind, würden Dinge wie MenuForm, Datenbank, Transaktion einschließen.

3

Geschäftsobjekte sind die Elemente Ihres Domänenmodells.

Was ist das Domänenmodell? Das Domänenmodell beschreibt, was Ihr System aus Sicht des real-world tut. Das Domänenmodell beschreibt die logische Beziehung zwischen den Elementen und der Einschränkung zwischen ihnen.

Business-Objekt, Geschäft entites oder einfach Einheiten sind irgendwie austauschbar Begriffe. Es bezieht sich darauf, was die Softwarelösung in der realen Welt darstellen wird, dies kann client, account, documents usw. sein. Dies kann sein, was auch immer Ihre Lösung ansprechen soll.

Dies schließt dann rein technische Objekte aus, die nur dort vorhanden sind, um Implementierungsprobleme zu lösen.

Wir verwenden den Begriff Einheiten, weil diese Elemente existieren (sie haben eine Existenz) außerhalb der Software. Mit anderen Worten, die Software ist eine Repräsentation dieser Elemente.

See:

+0

Danke für diese Information. Es ist sicherlich eine größere Fläche als ich zuerst dachte. –

+0

Sie könnten dann auch in dieser anderen Frage interessant sein: http://stackoverflow.com/questions/2333307/should-enterprise-java-entities-be-dumb/2333921#2333921 – ewernli

0

Ein Business-Objekt ist ein Objekt, die Geschäftseinheit darstellt und optional Business-Logik enthalten.

1

Ich verstehe immer noch nicht zu 100%, wie sich Business-Objekte (BO) von Datentransfer-Objekten (DTO) unterscheiden.

Scheint, dass DTOs nur Daten enthält, während BOs die Daten und den Code enthalten, um mit den Daten umzugehen?!?

So ein BO kann die Daten von mehreren DTOs "enthalten", richtig?

Verwandte Themen