Business Layer in 3-Tier-Architektur

7

Ich ging zu einem Interview und wurde gebeten, meine Business-Layer-Architektur zu zeigen. Ich habe eine Idee über die 3-Tier-Architektur, aber wirklich keine Ahnung, was ich vor dem Interviewer schreiben soll. Angenommen, mein Projekt beschäftigt sich mit Mitarbeitern einer Organisation, was hätte ich dann dort geschrieben. Wird es irgendeine Art von Diagrammen geben, die ich hätte machen sollen oder ein Coding-Teil? Ich habe im C # -Framework 3.5 gearbeitet. Ich verstehe wirklich nicht, was ich sonst in dieser Frage erwähnen sollte, also lassen Sie mich bitte wissen, wenn etwas erforderlich ist. Danke.

Bearbeiten Ich habe in Winforms gearbeitet. Ich weiß, was Business-Schicht ist, aber ich war mir nicht sicher, was ich dem Interviewer sagen sollte, da die Business-Schicht Codes hat und offensichtlich war mein Projekt ein bisschen groß, also gab es eine große Anzahl von Codes. Also was hätte ich da schreiben sollen?

    
Sandy 22.09.2011, 06:21
quelle

5 Antworten

17

eine 3-Tier-Architektur besteht aus 3 Hauptschichten

  • PL Präsentationsschicht
  • BLL Geschäftslogikebene
  • DAL Datenzugriffsebene

Jede oberste Ebene fragt nur die untere Ebene ab und sieht nichts darüber.

Wenn Sie nach Wie werden Sie Ihre BLL erstellen, können Sie etwas schreiben wie:

%Vor%

Als Live-Beispiel für ein Projekt, das ich erstelle:

PL sind alle öffentlich zugänglichen Dienste, meine DAL behandelt alle Zugriffe auf die Datenbank, ich habe eine Serviceebene , die 2 verwaltet Versionen des Dienstes, ein alter ASMX und der neue WCF-Dienst, sie sind durch ein Interface verfügbar, so dass es für mich einfach ist, zu wählen, welcher Dienst der Benutzer verwenden wird

%Vor%

Im obigen Code verwende ich Dependency Injection einfach, um das Wissen der anderen Ebene zu trennen, da es auf dieser Ebene (der Präsentationsschicht, da es sich um einen Controller in einem MVC-Projekt handelt) niemals darum kümmern sollte, wie der Service aufgerufen wird und dass der Benutzer ServiceA anstelle von ServiceB verwendet ... Was es wissen muss, ist, dass das Aufrufen von IService.ListAllProjects() die richtigen Ergebnisse liefert.

Sie beginnen zu teilen Vorschläge und wenn ein Problem in der Service-Verbindung erscheint, wissen Sie, dass das nichts mit der Presentation Layer zu tun hat, es ist die Service-Schicht (in meinem Fall) und es ist einfach behoben und kann leicht eine neue% co_de eingesetzt werden % anstatt die gesamte Website erneut zu veröffentlichen ...

Ich habe auch einen Helfer, der alle Business Objects enthält, die ich für alle Projekte verwende.

Ich hoffe, es hilft.

    
balexandre 22.09.2011, 06:33
quelle
3

Überprüfen Sie meine Antwort hier für ein Beispiel, das in vielen Projekten gültig ist, selbst wenn die UI nicht asp.net mvc ist ...

MVC3 und Entity Framework

    
Davide Piras 22.09.2011 06:28
quelle
1

3 Tier ist wie folgt,

  1. Ihre Präsentation in einer Ebene.
  2. Ihre Anwendungslogik in einer anderen Schicht - Business-Schicht genannt.
  3. Ihre Datenzugriffsklassen in der dritten Ebene. - namens Datenschicht.

Webforms sind eine Präsentationsebene Also für Mitarbeiter Klasse tun alles in ASP.Net Code hinter Datei kann als Business-Schicht nach meinem Verständnis, wie Sie Geschäftsregeln mit if / sonst und so weiter anwenden. Datenzugriffsklassen im App_Code-Ordner wären Data Layer.

Im Fall von Desktop-Apps sind Designs die Darstellungsschicht, Formularcode Business-Layer und alles, was mit dem Zugriff auf die Datenbank zu tun hat, wäre die Datenschicht.

    
Adnan Bhatti 22.09.2011 06:27
quelle
0

Business-Layer-Layer, der für die gesamte Geschäftslogik zuständig ist. Beispielsweise Sie haben Organizarion so Organisation und Sammlung von Mitarbeitern. Im Mitarbeiterobjekt müssen einige Einschränkungen oder einige Regeln implementiert werden. Diese Regeln werden in dieser Ebene implementiert.

    
Gregory Nozik 22.09.2011 06:29
quelle
0

Geschäftslogik ist definiert als jede Anwendungslogik, die sich mit dem Abrufen, Verarbeiten, Umwandeln und Verwalten von Anwendungsdaten beschäftigt. Anwendung von Geschäftsregeln und -richtlinien; und Sicherstellung der Datenkonsistenz und -gültigkeit. Um die Wiederverwendungsmöglichkeiten zu maximieren, sollten Geschäftslogikkomponenten kein Verhalten oder keine Anwendungslogik enthalten, die für einen Anwendungsfall oder eine User Story spezifisch ist. Geschäftslogik kann weiter in die folgenden zwei Kategorien unterteilt werden:

  • Business Workflow Nachdem die UI-Komponenten die erforderlichen Daten vom Benutzer gesammelt und an die Business-Schicht übergeben haben, kann die Anwendung diese Daten zur Ausführung eines Geschäftsprozesses verwenden. Viele Geschäftsprozesse umfassen mehrere Schritte, die in der richtigen Reihenfolge ausgeführt werden müssen und über eine Orchestrierung miteinander interagieren können. Business Workflow definiert und koordiniert lang laufende, mehrstufige Geschäftsprozesse und kann mithilfe von Business Process Management Tools implementiert werden. Sie arbeiten mit Geschäftsprozesskomponenten, die Operationen für Workflowkomponenten instanziieren und ausführen.
  • Business Entity Business Entity-Entitäten oder - allgemeiner ausgedrückt - Business-Objekte, kapseln die Geschäftslogik und die Daten ein, die erforderlich sind, um reale Elemente wie Kunden oder Bestellungen in Ihrer Anwendung darzustellen. Sie speichern Datenwerte und setzen sie über Eigenschaften frei. Geschäftsdaten enthalten und verwalten, die von der Anwendung verwendet werden; und bieten statusbehafteten programmatischen Zugriff auf die Geschäftsdaten und zugehörige Funktionen. Geschäftsentitäten validieren auch die in der Entität enthaltenen Daten und kapseln die Geschäftslogik ein, um Konsistenz sicherzustellen und Geschäftsregeln und -verhalten zu implementieren.
tahahanif 16.11.2017 10:11
quelle