2012-04-10 2 views
1

In einer typischen N-Tier-Anwendung, mein Verständnis der Ebenen sind wie folgt:?N-Tier Fragen

DAL - Code, der mit db BLL interagiert - Geschäftsregeln (wie man die DAL dies unterscheidet Does es die DAL nennen? Was für eine Probe BLL-Klasse ist?)

Presentation Layer

auch dort, wo sich ein "Service-Layer" kommen in all dies?

Antwort

2

Nun, fangen wir mit DAL an. Es lässt Sie alle Probleme mit DB vergessen, wenn Sie BLL schreiben. Das heißt: DAL kümmert sich um Einfügen, Auswählen, Aktualisieren, Löschen von Operationen, kümmert sich um Transaktionen, führt gespeicherte Prozeduren aus. Wie benutzt man es im wirklichen Leben? Nehmen wir an, Sie haben eine Tabelle TBL1 in Ihrer Datenbank. In DAL erstellen Sie eine Klasse namens Tbl1Adapter. Mit den Dummy-Methoden CreateRecord, GetRecord (id), UpdateRecord (id, newData), DeleteRecord (Id). Ihr BLL wird diese Methoden aufrufen. Aber Tbl1Adapter Klasse wird DB-Job innerhalb tun. Es ruft gespeicherte Prozeduren auf oder sendet SQL-Befehle an die DB oder verwendet einige knifflige DB-Treiber, um Ihre Wünsche von BLL zu erfüllen :) Außerdem bedeutet DAL nicht nur Datenbanken, es kann auch mit ASCII-Dateien arbeiten, mit Eingabegeräten, mit etwas anderes. Diese Ebene stellt Daten bereit.

Als nächstes ist BLL: BLL dreht sich alles um die Arbeit mit Ihren Daten. Es erhält Daten von DAL und gibt Daten an DAL, um es zu speichern. Aber alle Operationen mit Daten erscheinen in BLL: Zahlen werden multipliziert, Bedingungen (IF ... THEN ...) werden voll, einige andere Raketenwissenschaft-Logik wird ausgeführt ... Also BLL ist der Kern Ihrer Anwendung. Diese Schicht ist ein Gehirn Ihrer Anwendung.

Darstellungsschicht: Diese ist die einfachste zu verstehen und sehr interessant zu entwickeln. Es geht darum, wie Ihre Anwendung Ergebnisse ihrer Arbeit präsentiert. Es kann eine Windows-Form mit Datenraster und -tasten sein, es kann eine Webseite sein, es kann ein cooles Audio-Interface sein. Diese Schicht ist ein Gesicht Ihrer Anwendung: Augen und Ohren, um Daten vom Benutzer (oder einem anderen System) zu erhalten, und Mund, um Daten dem Benutzer (oder einem anderen System) zu geben.

Nun, Service-Ebene ist ein bisschen schwierig. Oft ist es eine API einer anderen Anwendung. Nehmen wir an, ich habe einen Web-Service, der zu Zahlen multipliziert werden kann. Es heißt MegaBrain :) Sie haben eine Anwendung, die zwei Zahlen vom Benutzer nimmt. Aber anstatt BLL in Ihrer Anwendung zu implementieren, entscheiden Sie sich, SERVICE von meinem MegaBrain zu verwenden - geben Sie ihm diese Zahlen und erhalten Sie das Ergebnis zurück. Serviceebene ist also ... nun, ich weiß nicht, wie ich es in zwei Worten beschreiben soll. Service-Ebene lässt Ihre Anwendung BLL einer anderen Anwendung verwenden. Es ist ähnlich zu DAL, aber Datenzugriffsschicht speichert und gibt nur Daten, während Dienstschicht einige Operationen an Eingabedaten durchführt und einige Ergebnisse produziert (gibt Ihnen das Ergebnis der Multiplikation zurück oder schaltet einen Fernseher ein;)

+0

Gute Erklärung, ich siehe, Serviceebene wäre eine Verbindung zwischen der ursprünglichen App und den externen Apps. – dotnetdev