42 Stimmen

Was sind Business Objects und was ist Business Logic?

Beim Lesen stoße ich immer wieder auf Verweise auf das, was sie als Business Objects . Ich habe bei Wikipedia und so nachgeschlagen, aber ich verstehe nicht, was ein Business Object ist.

Gibt es eine einfache Erklärung für jemanden, der keine Ahnung von Softwarearchitektur und dergleichen hat?

Außerdem, was ist Business Logic ?

0 Stimmen

Es ist das Gegenteil von Fun Logic.

0 Stimmen

Das Gegenteil von Business ist Spaß. Wenn du das noch nicht weißt, hast du noch nie in einem richtigen Unternehmen gearbeitet...

0 Stimmen

Bitte beachten Sie cette Antwort, die sich auf Ihre Frage bezieht.

25voto

bobah Punkte 17484

Das ist einfach

Jede Entität im System, die ein Objekt der menschlichen Welt darstellt, mit dem das System interagieren soll, ist ein Geschäftsobjekt.

Die Logik der menschlichen Welt im System zur Bearbeitung von Geschäftsobjekten ist eine Geschäftslogik.

Dies steht im Gegensatz dazu, dass die Objekte und die Logik Teil der Implementierungsdetails sind.

In einem mehrstufigen Handelssystem sind beispielsweise Auftrag und Handel Geschäftsobjekte, während Heartbeat ein Implementierungsdetail ist.

Die Logik der Codierung von Auftrags-/Handelsobjekten für das Streaming ist ein Implementierungsdetail, während die Logik der Änderung des Auftragsstatus in "abgeschlossen", sobald der Handel eintrifft, eine Geschäftslogik ist.

20voto

Ta Sas Punkte 9139

Nun, ein Geschäftsobjekt wird im Allgemeinen als eine Klasse betrachtet, die eine Entität darstellt, z. B. ein Buch oder ein Geschäft. Eine solche Klasse hat bestimmte Eigenschaften wie Preis, Farbe, Breite, isbn-Nummer usw. In Java oder .NET besteht es aus sogenannten Settern und Gettern, d. h. Methoden, die diese Eigenschaften setzen oder abrufen.

Die Geschäftslogik hingegen ist der Teil eines Programms, der mit den Eigenschaften arbeitet, d. h. wie wird dieses Buch verkauft. Die Geschäftslogikschicht verwendet die Geschäftsobjekte für den Zugriff auf die Datenbank.

17voto

andy Punkte 8455

He devoured, ich hatte auch Schwierigkeiten mit dieser Terminologie, als ich mit der Entwicklung begann.

Im Grunde genommen wird das Wort "Business" nur deshalb verwendet, weil sich die Terminologie im Zusammenhang mit kommerzieller Software entwickelt hat. In diesem Sinne wird also davon ausgegangen, dass die Software für geschäftliche Zwecke entwickelt wurde... im Gegensatz zu künstlerischen, ästhetischen oder kreativen Zwecken.

Geschäftsobjekte sind also einfache Code-Darstellungen von realen "Geschäfts"-Objekten. Sie könnten also eine Produktklasse oder eine Mitarbeiterklasse haben.

Geschäftslogik ist die Logik innerhalb der Anwendung, die sich auf das "Geschäft" bezieht, für das die Software entwickelt wurde. Also Dinge wie Steuerberechnungen oder die Zuordnung von Produkten zu Kunden... so etwas in der Art.

Beachten Sie, dass die Idee der Geschäftsobjekte oder der 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 Bibliotheken gelten, wie z.B. ORMS oder Unit-Testing-Bibliotheken, da es sich um wiederverwendbare Komponenten handelt, die nicht spezifisch für ein "Geschäft" sind.

5voto

Ric_30309 Punkte 51

Bei der traditionellen 3-Tier-Programmierung gibt es drei logische Ebenen oder Tiers. Es gibt eine Präsentationsschicht, die die Benutzeroberfläche darstellt, die unterste Schicht ist die Datenbankschicht. Die mittlere Schicht ist die Schicht der Geschäftsobjekte. Wie bereits erwähnt, sollten die Geschäftsobjekte so abstrahiert werden, dass es auf der Website gar nicht um Geschäfte geht. Es handelt sich um eine Abstraktionsschicht, die es einfacher macht, Änderungen an der Präsentationsschicht vorzunehmen oder zu einer anderen Datenquelle zu wechseln.

Wenn Ihre Benutzeroberflächenebene keinen oder nur sehr wenig Code enthält. Das erleichtert den Designern die Zusammenarbeit mit den Programmierern. Die Designer können das Erscheinungsbild der Website ändern, ohne dass die Programmierer den Code, der die Website zum Funktionieren bringt, grundlegend umschreiben müssen. Mit der Business-Objekt-Schicht führen Sie die umfangreiche Auflistung der Website durch. Sie rufen die Datenbankschicht auf, ohne dass das Geschäftsobjekt weiß, ob es sich bei der Datenbankschicht um eine XML- oder eine relationale Datenbank handelt. Und die Geschäftsobjektschicht aktualisiert dann eine Antwort an die Benutzeroberfläche. In der Regel wird das Beispiel für eine Banktransaktion verwendet. Auf der Benutzeroberfläche gibt ein Kunde den Betrag ein, den er von seinem Sparkonto auf sein Girokonto überweisen möchte.

Die Geschäftsobjektschicht wird die Geschäftsregeln für die Bank enthalten. Das bedeutet, dass sie den Saldo des Sparkontos des Benutzers überprüft und sicherstellt, dass der zu überweisende Betrag den Saldo des Kontos nicht übersteigt. Die Geschäftsschicht enthält die Klassen, die die neuen Salden für das Sparkonto und das Girokonto berechnen und die Datenbankschicht benachrichtigen, damit die Datenbank aktualisiert wird.

3voto

Program-Me-Rev Punkte 5764

Geschäftsobjekt:

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

class Book {
    long id;
    String bookTitle;
}

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

Geschäftslogik:

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;
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X