Speichern Sie Ihre Hilfsklassen in einer separaten Assembly?

8

Ich möchte nur wissen, ob jemand seine Hilfsklassen oder Methoden in einer separaten Assembly speichert und warum ... nur für eine saubere Verwaltung von ihnen? Ich habe so viele Posts über die Verwendung eines Hilfsordners in Ihrem MVC-Projekt gesehen, und das bringt mich zurück zu den schmutzigen alten Tagen in ASP.NET, wo Leute einen App_code-Ordner benutzten, anstatt Dinge physisch sauber in ein eigenes Projekt zu trennen .

Und auch niemand, der echte Architektur macht, wird Modelle in einen Ordner in Ihrer MVC-Web-Assembly stellen. Sie würden in MyApp.DataLayer Assembly oder MyApp.Models oder so ähnlich gehen.

    
PositiveGuy 21.02.2010, 03:18
quelle

5 Antworten

1

Ich verwende Projekte, um die verschiedenen Ebenen in meinen Web- oder Formular-Apps zu trennen. Es erlaubt mir, die Geschäftsregeln besser zu respektieren. Außerdem finde ich es einfacher herauszufinden, wo ich hingehen muss, wenn ich etwas ändern möchte.

Aber ich habe Leute gesehen, die Ordner verwenden, die die Layer in der Lösung beschriften, aber ich denke, das ist ein bisschen unordentlich.

    
JPJedi 21.02.2010, 03:24
quelle
3

Ja, aber aus Gründen, die auch anderen Baugruppen gemeinsam sind

  • Es wird einfach, es in jedes andere Projekt einzubinden (benötigt eventuell einige Editionen).
  • Wiederverwendbar
  • Einfach zu verbessern
  • Einfach zu refraktor
  • Nicht Teil eines Projekts, sondern Projekt selbst, es ist einfach zu dokumentieren und leicht für Entwickler zu verstehen
  • Löscht etwas von der Unordnung

Aber für all das oben, sollte Ihre Versammlung, wenn sie fertig ist, eine "gute Arbeit" sein , ansonsten ist es besser, die Helferklassen dort zu belassen, wo sie hingehören.

>     
Asad Butt 21.02.2010 03:33
quelle
2

Wir haben einige Helfer in einem separaten Projekt und einige im Webprojekt. Ich denke, Sie werden feststellen, dass einige Ihrer Helfer Abstraktionen verwenden müssen, die Sie in Ihrem Webprojekt selbst definiert haben. Und das zwingt Sie oft dazu, diese Helfer in das Webprojekt einzubinden, da es nicht wünschenswert ist, ein anderes Projekt zu haben, das einen Bezug zum Webprojekt hat. Ich halte es nicht für dasselbe wie die Verwendung von App_Code. Dies sind Dateien, die zur Kompilierzeit in Ihrer IDE kompiliert werden, ohne dass eine besondere "Magie" auf App_Code angewendet wird.

    
Charlie Flowers 21.02.2010 03:22
quelle
1

Ja, weil sie Teil der Business-Schicht sind. Zwei große Vorteile:

  • Wiederverwendbarkeit
  • Testbarkeit

Beachten Sie, dass Ihre Dienstprogrammfunktionen und Hilfsklassen wahrscheinlich zu den am häufigsten verwendeten Komponenten Ihres gesamten Systems gehören. Ohne vollständige BICEP-Tests laufen Sie ein wirklich inakzeptables Risiko.

    
Mark Brittingham 21.02.2010 03:46
quelle
0

Die meisten Helfer, die ich erstelle, sind normalerweise layerspezifisch, so dass ich dazu tendiere, sie mit der Assembly als Basisbaugruppe zu halten, die sie benötigt. Ich sehe keinen Grund, ein weiteres Projekt hinzuzufügen, um eine große Anzahl spezifischer Hilfsklassen zu speichern.

    
Andrew Smith 21.02.2010 04:38
quelle

Tags und Links