Frage

Ich arbeite an einem relativ kleinen asp.net Web-Anwendung und frage mich, ob es wirklich notwendig ist, vollständige n-Tier-Architektur zu beschäftigen. Für eine Vorstellung von Größe; gibt es etwa 20 Datenbanktabellen.

In der Vergangenheit habe ich verwendet, um einen 2-Tier-Ansatz, bei dem der Geschäftslogik und Datenzugriff gruppiert werden zusammen in eine einzige Klassenbibliothek mit einer asp.net Web-Anwendung wurde das Benutzeroberfläche Tier bilden und dies schien gut zu funktionieren.

Gibt es eine Schwellengröße oder eine Daumenregel, wo Sie sollten n-Tier verwenden?

War es hilfreich?

Lösung

Es kann relativ klein sein, jetzt aber denken Sie, es in der Zukunft wachsen könnte? Ihre Natürlich muss man pragmatisch sein, aber wenn Sie bereits natürliche Trennungen von Interesse in Ihrer einzigen Baugruppe haben, dann ist es ziemlich einfach, dass in zwei oder mehr Baugruppen aufgeteilt. Wenn die Klassen sich Geschäftslogik und Datenzugriff verbinden, dann haben Sie mehr Arbeit an den Händen. Ich würde jedoch argumentieren, dass es fast keine Arbeit mehr Ihre Datenzugriffslogik in einer Baugruppe und Ihre Geschäftslogik in den anderen, parallel zu schreiben, wenn erforderlich, als sie alle an einem Ort in erster Linie zu schreiben.

Andere Tipps

Wenn Sie das Wachstums oder Änderung irgendwelcher Art vorwegnehmen, würde es helfen, jetzt explizite Ebene zu verstärken. Aber wenn dies Ihr eigenes Projekt ist und es Ihnen nichts ausmacht die Kosten für die Änderung ponying oder eng integrierten Code, dann nur Hacken auf die es wie eine Schicht.

Es ist alles über zukünftig Kosten. In der Gegenwart nur die Programmierung, wie Sie gehen ist bei weitem der billigste, aber nicht reagiert sehr gut zu ändern. Mit der Tier-Planung, gibt es eine Upfront-Kosten, aber es kann Wechsel handhaben und ganze Schicht Implementierungen besser herauszureißen als der erste Ansatz kann.

So Ihre Daumenregel wird geregelt durch die für die Änderung zahlen und wann.

Ja, es ist es wert. Was Sie vorschlagen, ist eine Lösung zusammen hacken. Ich kann Ihnen nicht sagen, wie oft diese mir Schmerz und Leid gebracht hat. Die andere Seite der Medaille ist astronaught Entwickler, die ihre Lösungen überbaut. Sie wollen, dies auch zu vermeiden.

Seien Sie einfach, bauen Sie Ihre drei Schichten, ich schlage vor, Sie LINQ to SQL ausprobieren, es macht die DAL einen Schnapp bauen, und dann können Sie konzentrieren sich auf eine schlanke UI bauen und eine BLL, die das Heben schwerer Lasten behandelt. Es wird Sie nicht viel länger dauern, es zu tun, und es wird später für Unit-Tests ermöglichen.

  

Gibt es eine Schwellengröße oder eine Regel   Faust wo sollten Sie beschäftigen   n-Tier?

nicht ein, dass ich bewusst bin, aber ich werde diese wegzuwerfen: wenn eine Chance, diese Web-App gibt es wachsen kann (oder Backends ändern) und / oder jemand anderes es aufrechterhalten kann am Ende, würde ich prüfen, gehen mit einem n-Tier-Ansatz.

Just halten es möglich. Es ist wahrscheinlich übertrieben jetzt aber nicht schreiben, sich in einer Situation, wo es unmöglich ist. Refactoring in großem Maßstab werden Sie länger dauern, als es von Grund auf wieder aufzubauen (und wird wahrscheinlich nur, dass sein, von Grund auf wieder aufzubauen).

Das letzte Projekt, das ich gearbeitet (kommt Ende) wurde in einer Art und Weise geschrieben, dass die Stufe Zerschlagung war praktisch unmöglich. Datenlogik verwoben mit Business-Logik mit Präsentationslogik verwoben. Auf kurze Sicht, es war so gut, wie es immer sein würde, weil fixing würde es mehrere Monate in Anspruch genommen hat.

Es ist nicht allzu schwierig, alles getrennt zu halten, so wie ich bereits sagte, nur hält es möglich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top