2010-07-18 9 views
31

Beim Lesen sehe ich immer wieder Referenzen auf das, was sie Business Objects nennen. Ich habe auf Wikipedia und dergleichen nachgeschlagen, aber ich bekomme nicht, was ein Business Object ist.Was sind Business Objects und was ist Business Logic?

Gibt es eine einfache Erklärung, was es für jemanden ist, der nichts über Software-Architektur und dergleichen weiß?

Auch was ist Business Logic?

+0

siehe [diese] (http://stackoverflow.com/questions/360860/what-is-domain-logic/38303676#38303676) Antwort, die auf Ihre Frage in Zusammenhang steht. – palash140

Antwort

20

Das ist einfach

Jede Stelle im System, das Mensch-Welt-Objekt darstellt, die das System mit dem Objekt ist ein Geschäft zu interagieren soll.

Die Mensch-Welt-Logik im System zur Manipulation von Geschäftsobjekten ist eine Geschäftslogik.

Dies steht im Gegensatz zu den Objekten und der Logik, die Teil der Implementierungsdetails sind.

Zum Beispiel in der Multi-tier-Handelssystem Auftrag/Handel wird Business-Objekte, aber Herzschlag wird Implementierung Detail sein.

Die Logik der Kodierung von Bestell-/Handelsobjekten für das Streaming wird ein Implementierungsdetail sein, während die Logik des Änderns des Bestellstatus auf 'vollendet', sobald der Handel eintrifft, eine Geschäftslogik ist.

+0

Also, wenn ich Sie richtig verstanden habe, ist jede Klasse in dem Code, der direkt vom Domain Model kommt, ein Business Object? –

+0

@devoured elysium - ja, aber "Domain-Modell" ist ein Begriff der gleichen Art wie "Business-Objekt" und "Business-Logik", und während diese drei sehr gut in Beziehungen ausgedrückt werden können, ist es nicht klar, was sie bedeuten absolut :) – bobah

16

Nun, ein Business-Objekt wird allgemein als eine Klasse betrachtet, die eine Entität darstellt, z. ein Buch oder ein Geschäft. Eine solche Klasse hat bestimmte Eigenschaften wie Preis, Farbe, Breite, Isbn-Nummer usw. In Java oder .NET besteht sie aus sogenannten Settern und Gettern, d. H. Methoden, die diese Eigenschaften festlegen oder erhalten.

Die Geschäftslogik auf der anderen Seite ist jener Teil oder ein Programm (diese Schicht), das mit diesen Eigenschaften arbeitet, d. H. Wie wird dieses Buch verkauft. Die Business-Logik-Schicht verwendet die Business-Objekte, um auf die Datenbank zuzugreifen.

3

Es ist das Gegenteil von Fun Logic.

+0

Und was ist das? –

+0

Das Gegenteil von Business macht Spaß. Wenn Sie das noch nicht wissen, haben Sie nie in einer echten Firma gearbeitet ... – f1sh

+1

...oder nie für einen beschissenen gearbeitet. – nothingisnecessary

9

hey verschlungen, ich hatte Probleme mit dieser Terminologie, als ich anfing, auch zu entwickeln.

Der einzige Grund, warum das Wort "Business" verwendet wird, ist, weil die Terminologie im Zusammenhang mit kommerzieller Software entwickelt wurde. In diesem Sinne wird angenommen, dass die Software für geschäftliche Zwecke entwickelt wurde, im Gegensatz zu künstlerischen, ästhetischen oder kreativen Zwecken.

So, Business-Objekte sind einfache Code-Darstellung von realen "Business" -Objekten. Sie haben also möglicherweise eine Produktklasse oder eine Mitarbeiterklasse.

Geschäftslogik, ist Logik innerhalb der Anwendung, die spezifisch für das "Geschäft" ist, für das die Software entwickelt wurde. Also, Dinge wie Steuerberechnungen, oder wie Produkte mit Kunden in Beziehung stehen ... so etwas.

Beachten Sie, dass die Idee von Geschäftsobjekten oder Geschäftslogik nicht für die Entwicklung von Videospielen oder die künstlerische Entwicklung gilt.

Es würde auch nicht für einige Frameworks oder Libraries, wie ORMS oder Unit Testing-Bibliotheken, als ein Beispiel gelten, weil sie wiederverwendbare Komponenten sind, die nicht spezifisch für "Business" sind.

3

In der traditionellen 3-Tier-Programmierung haben Sie drei logische Schichten oder Ebenen.Sie haben eine Präsentationsschicht, die die Benutzerschnittstelle darstellt, die untere Schicht wäre die Datenbankschicht. Die mittlere Ebene wäre die Business-Objekt-Ebene. Wie bereits oben erwähnt, sollten die Business-Objekte insofern abstrahiert sein, als dass auf der Site überhaupt nicht über das Geschäft gesprochen wird. Es ist eine Abstraktionsschicht, die es einfacher macht, Änderungen an der Präsentationsebene vorzunehmen oder zu einer anderen Datenquelle zu wechseln.

Wenn Ihre Benutzeroberflächenebene keinen oder sehr wenig Code enthält. Es erleichtert es Designern, mit Programmierern zu arbeiten. Die Designer können das Aussehen und Verhalten der Website ändern, ohne dass der Programmierer den Code, der die Website funktionsfähig macht, neu schreiben muss. Mit der Business-Objekt-Ebene machen Sie die schwere Auflistung der Site. Sie führen Aufrufe in die Datenbankschicht aus, ohne dass das Geschäftsobjekt weiß, ob sich Ihre Datenbankschicht in XML oder relationaler Datenbank befindet. Und die Geschäftsobjektschicht würde dann eine Antwort auf die UI-Schicht aktualisieren. Normalerweise wird das Beispiel für eine Banktransaktion verwendet. In der Benutzerschnittstelle gibt der Kunde den Betrag ein, den er von seinem Sparkonto auf sein Girokonto überweisen möchte.

Der Business-Objekt-Layer enthält die Geschäftsregeln für die Bank. Das bedeutet, dass es den Kontostand des Benutzersparkontos überprüft und sicherstellt, dass der überwiesene Betrag das Kontostand nicht übersteigt. Die Business-Schicht enthält die Klassen, die die neuen IC-Salden für das Sparkonto und das Prüfkonto berechnen, und benachrichtigt die Datenbankebene, die Datenbank zu aktualisieren.

0

Eine Definition eines Geschäftsobjekts ist schwierig in der Suchmaschine zu finden, da es Ihnen mitteilt, dass es sich bei Business Objects um ein von SAP übernommenes Unternehmen handelt. Aber das ist nicht das, wonach die meisten Menschen suchen.

Ein Business-Objekt ist die Verkapselung von Business-Logik-Modell ein Business-Szenario.

Für zB: In der Beschaffungsdomäne: Es gibt eine ganze Liste von Aktivitäten, die ausgeführt werden müssen. Von der Ausgabenanalyse zur Anforderung von Informationen für die Produkte bis zur Generierung des Vertrags für die verhandelte Laufzeit. In diesem speziellen Szenario kann ein Dokument wie RFI (Request for Information) als eine Instanz eines RFI Business Objects betrachtet werden (es wird die gesamte Logik haben, die sich auf Prozesse wie Validierung usw. bezieht).

0

Das Geschäftsobjekt der SAP-Serie unterscheidet sich vom Geschäftsobjekt innerhalb des Orakel'Kernentwurfsmusters, das mit der Anwendungsdienstschicht interagiert ... Ja, das Geschäftsobjekt funktioniert mit einer zusammengesetzten Entität, aber es hat Geschäftslogik, es kann Geschäft führen Staat, einige einfache Anpassung Methoden und sie sind Business-Info-Träger mit austauschbaren die dynamischen Staaten und Kreuz zwischen Anwendung Tiers oder Domains, aber wenn in verschiedenen Kontext, hat es andere detaillierte angegebenen Namen, zum Beispiel können wir sagen, Web-Service-Anfrage ist ein Geschäft Objekt im xML-Format ... es ist nicht das gleiche wie Dateneinheit

1

Business Object:

class User { 
    long id; 
    String fullNames; 
    int age; 
} 

class Book { 
    long id; 
    String bookTitle; 
} 

class Sales { 
    long id; 
    long userID; 
    long bookID; 
} 

Business Logic:

class BookSalesController { 
    private User user = new User(); 
    private Book book = new Book(); 
    private Sales sale = null; 

    public Sale sale(long saleID) { 
     String query = "SELECT * FROM Sales s WHERE s.id = :saleID"; 
     .... 
     .... execute the query 

     // Assuming we have our Result Set here by now 

     if (rs.next()) { 
      sale = new Sales(rs.getString("User Names")); 
      sale.setUserID(rs.getLong(userID)); 
      sale.setBookID(rs.getLong(bookID)); 
     } 

     return sale; 
    } 
} 
Verwandte Themen