Ordner oder Projekte in einer Visual Studio-Lösung?

stimmen
27

Wenn eine Lösung in logischen Schichten spliting, wann ist es am besten, ein eigenes Projekt zu verwenden, um über nur von einem Ordner gruppieren?

Veröffentlicht am 04/08/2008 um 23:00
quelle vom benutzer
In anderen Sprachen...                            


7 antworten

stimmen
17

Standardmäßig erstellen immer nur neue Ordner im selben Projekt

  • Sie werden einzelne Baugruppe (ohne zusätzliche ILMerge gymnastische) erhalten
  • Einfacher zu verschleiern (weil Sie weniger öffentliche Typen und Methoden haben, im Idealfall gar keine)

Trennen Sie Ihren Quellcode in mehreren Projekten macht nur Sinn, wenn Sie ...

  • Habe einige Teile des Quellcodes, die Teil des Projekts sind aber nicht ausfahrbaren standardmäßig oder auf allen (Unit-Tests, zusätzliche Plugins etc.)
  • Weitere Entwickler beteiligt, und Sie wollen, dass ihre Arbeit als Verbrauch Blackbox zu behandeln. (Nicht sehr empfehlenswert)
  • Wenn Sie Ihr Projekt in isolierten Schichten / Module klar trennen können , und Sie wollen sicherstellen , dass sie kein Kreuz verbrauchen können interne Mitglieder. (auch nicht empfohlen , da Sie müssen entscheiden , welcher Aspekt das wichtigste ist)

Wenn Sie denken, dass einige Teile des Quellcodes wiederverwendbar sein könnten, erzeuge es immer noch nicht als ein neues Projekt. Warten Sie nur, bis Sie es wirklich in einer anderen Lösung wiederverwenden wollen und isolieren, es von Original-Projekt aus, wie gebraucht. Die Programmierung ist kein lego, Wiederverwendungs ​​ist in der Regel sehr schwierig und oft nicht wie geplant geschehen.

Beantwortet am 04/08/2008 um 23:45
quelle vom benutzer

stimmen
8

Die Trennung Funktionen in Projekten ist oft eine YAGNI Architektur-Optimierung. Wie oft haben Sie diese separaten Projekten wiederverwendet, wirklich? Wenn es nicht ein häufiges Auftreten ist, sind komplizieren Sie Ihre Entwicklung, Aufbau, Implementierung und Wartung für die theoretische Wiederverwendung.

Ich viel lieber in Ordner zu trennen (mit entsprechenden Namensräumen) und Refactoring Projekte zu trennen, wenn Sie einen Real-Life-Wiederverwendung Anwendungsfall haben.

Beantwortet am 17/08/2008 um 18:35
quelle vom benutzer

stimmen
6

denny hat folgendes geschrieben:

Ich persönlich finde, dass, wenn wieder verwendbaren Code in Projekte aufgeteilt wird es einfacher ist, als an anderen Orten zu verwenden, wenn es nur in Ordnern.

Ich stimme wirklich mit diesem - wenn Sie es wiederverwenden können, sollte es in einem separaten Projekt. Mit dieser sagte, ist es auch sehr schwierig, effektiv wieder zu verwenden :)

Hier am So, wir haben versucht, mit drei Projekten sehr einfach zu sein:

  • MVC Web-Projekt (das ist eine schöne Aufgabe Ihre Schichten in Ordner standardmäßig der Trennung)
  • Datenbank-Projekt für die Quellcodeverwaltung unserer DB
  • Unit-Tests gegen MVC Modelle / Controller

Ich kann nicht für alle sprechen, aber ich bin zufrieden, wie einfach wir es gehalten haben - wirklich beschleunigt den Builds zusammen!

Beantwortet am 04/08/2008 um 23:42
quelle vom benutzer

stimmen
4

Normalerweise mache ich ein Projekt für die GUI ein Projekt für die Business-Logik ein Projekt für den Datenzugriff und ein Projekt für Unit-Tests.

Aber manchmal ist es ratsam, Trennung bei zugangskontrollierten Diensten zu haben, wie Authentifizierung (wenn Sie eine Service-orientierte Architektur verwenden), Vertrieb, usw.

Ich denke, die Daumenregel, die ich aus der Arbeit ist, dass, wenn Sie es als eine Komponente sehen, die eine klare Trennung von Bedenken haben dann ein anderes Projekt sinnvoll sein könnte. Aber ich würde denken, dass Ordner im Vergleich zu Projekten nur eine Präferenz oder Philosophie sein könnten.

Ich persönlich finde, dass, wenn wieder verwendbaren Code in Projekte aufgeteilt wird es einfacher ist, als an anderen Orten zu verwenden, wenn es nur in Ordnern.

Beantwortet am 04/08/2008 um 23:14
quelle vom benutzer

stimmen
0

Ich glaube wirklich, es besser ist, das Projekt auch zu teilen, aber es hängt alles von der Größe des Projektes und der Zahl der Menschen, daran zu arbeiten.

Bei größeren Projekten habe ich ein Vorhaben für

  • Datenzugriff (Modelle)
  • Dienstleistungen
  • Vorderes Ende
  • Tests

Ich habe das Modell von Rob Connery und seine Shop-Anwendung ... scheint wirklich gut zu funktionieren.

mvc-Schaufenster

Beantwortet am 16/09/2008 um 00:45
quelle vom benutzer

stimmen
0

Wenn Sie für die Erstellung von mehreren Projekten gehen, stellen Sie sicher, dass jeder, der Code zur Lösung fügt vollständig von der Absicht ihnen bewusst ist und alles tun, um Ihnen bekommen sie die Abhängigkeiten zwischen den Projekten zu verstehen. Wenn Sie jemals das Chaos zu klären versucht, wenn jemand hat Referenzen gegangen und fügte hinzu, die nicht da sein sollte und bekam für Wochen weg mit ihm werden Sie verstehen, diesen Punkt

Beantwortet am 10/09/2008 um 22:36
quelle vom benutzer

stimmen
0

Trennen Sie Ihren Quellcode in mehreren Projekten macht nur Sinn, wenn Sie ... ... Mehr Entwickler beteiligt, und Sie wollen, dass ihre Arbeit als Verbrauchs Blackbox zu behandeln. (Nicht sehr empfehlenswert) ...

Warum ist das nicht zu empfehlen? Ich habe es eine sehr nützliche Art und Weise gefunden arbeiten an verschiedenen Abschnitten eine Anwendung mit mehreren Devs zu verwalten. Macht checkins viel einfacher, vor allem durch nahezu eliminiert verschmilzt. Sehr selten werden zwei Devs haben am selben Projekt zur gleichen Zeit arbeiten.

Beantwortet am 17/08/2008 um 18:19
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more