2012-04-05 3 views
2

Ich baue als asp.net Anwendung auf .net Framework 4.0 und ich werde Linq zu Entities (Entity Framework) als mein DataModel (DAL) verwenden, mein Designmuster wird sein die dreistufigen Schichten, in denen das Entity Framework die DAL-Schicht ist.Best Practice von Entity Framework mit asp.net Webforms Applikation

Meine Frage ist, sollte ich eine BLL-Schicht für meine Tabellen haben, damit ich von der Präsentationsschicht (meine Seiten), wo ich meine auswählen, einfügen, aktualisieren und löschen Funktionen aus aufrufen oder es ist besser, die anrufen Entity Framework direkt in meiner Präsentationsebene?

Antwort

2

Es hängt von der Anwendung ab; Layer sind nicht definiert, weil sie gut sind, Layer werden definiert, weil sie benötigt werden.

Wenn Ihre Anwendung eine große ist und sich die Geschäftsregeln häufig ändern, sollten Sie eine BLL-Schicht erstellen. Ansonsten, IMHO, ist es einfach übertrieben. Die Größe Ihrer Anwendung und die Änderungsrate sollten bei Ihrer Entscheidung im Vordergrund stehen.

Beachten Sie, dass Ihre Geschäftsregeln innerhalb Ihrer Präsentationsebene liegen, wenn Sie EF direkt aufrufen. Wenn sie Änderungen unterworfen sind, wird das Refactoring der Präsentationsschicht ein Chaos und die Wiederverwendbarkeit wird geringer sein.

Aber wieder hängt es von der Größe Ihrer Anwendung, Ihrem Projektplan, der Änderungsrate der Geschäftsregeln und anderen Faktoren ab.

+0

meine Anwendung ist ein Nachrichtenportal und meine Sorge ist nicht die gleichen Methoden wie addarticle() beispielsweise 2 oder 3 mal zu wiederholen, wo ich eine BLL Schicht für die Artikel tun kann und seine Eigenschaften füllen dann die Addarticle() -Methode aufrufen, die werde den Rest der Arbeit machen. –

+0

Sie können nur eine addarticle Methode in der Präsentation definieren und wieder verwenden, bedeutet dies nicht, eine Business-Schicht implementiert. – daryal

+0

Sie sind völlig richtig, aber bedeutet das nicht, dass ich diese Methode 3 mal ändern muss, wenn ich zum Beispiel ein neues Feld zur Tabelle hinzugefügt habe? –

Verwandte Themen