Wir werden eine unserer Websites in .Net neu aufbauen. Ich habe viele Artikel gelesen und mag die Idee, unser Projekt in eine Datenzugriffsschicht (DAL), eine Business-Logik-Schicht (BLL) und eine Präsentationsebene zu unterteilen (wir kommen aus dem klassischen ASP, das ist ein großer Schritt für uns)). Ich mag auch Linq zu SQL.Linq to SQL und logische Partitionierung (DAL, BLL)
Da Linq zu SQL auf schnelle Entwicklung zielt, ist es wirklich möglich mit Linq zu SQL eine DAL-, BLL- und Präsentationsebene zu haben? Mit Linq zu SQL würde die DAL die Entitäten oder den Linq-Code zurückgeben, der möglicherweise in der BLL geändert werden könnte? Die Beziehung zwischen der DAL und BLL mit Linq zu SQL scheint ein unscharfes Thema ohne Konsens zu sein - und da dies für uns ein großer Sprung ist, möchte ich auf jeden Fall einen guten Spielplan haben, bevor ich in irgendetwas eintauche.
Typisierte Datasets scheinen dafür besser gerüstet zu sein, aber wenn ich mit Linq etwas Ähnliches erreichen kann, würde ich diesen Weg gehen.
Ich würde gerne von nHibernate und anderen 3rd-Party-Bibliotheken bleiben.
Partitionierte DAL, BLL usw., ist nicht ganz dasselbe wie N-Tier. n-Tier bedeutet typischerweise * physische * Partitionen. Während es immer gut ist, logische (z. B. Assembly-) Partitionen für Präsentations- und Geschäftslogik zu haben, würde ich argumentieren, dass dies eine separate Angelegenheit der physischen Partitionierung ist. Welchen würdest du gerne lösen? –
Ich mache mir Sorgen über logische Partitionen. –
Sie können eine separate DAL & BLL mit LinqToSql haben, aber es liegt an Ihnen, dies zu tun und Sie müssen definieren, wo die Linie gezeichnet wird. LinqToSql ermutigt Sie, die Linie zu verwischen, so dass Sie aktiv dagegen ankämpfen müssen, um eine klare Trennung von Bedenken zu schaffen. –