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?
eine 3-Tier-Architektur besteht aus 3 Hauptschichten
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
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.
Ü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 ...
3 Tier ist wie folgt,
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.
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.
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:
Tags und Links n-tier-architecture business-logic-layer 3-tier n-tier