2008-09-11 4 views
0

ist ein Follow-up auf die Frage:Was wird normalerweise in der Repository-Struktur getan, um die implementierten Einheiten widerzuspiegeln? Diese

Should the folders in a solution match the namespace?

Der Konsens über diese Frage war ein qualifizierter „Ja“: das heißt, Ordner == Namespaces, in der Regel, aber nicht sklavisch (der Java-Weg erfordert).

In der Tat, so richte ich Projekte ein.

Aber das Einrichten der Quellcodeverwaltung hat mich über meine aktuelle Ordnerstruktur zögern lassen. Wie bei .NET Framework stimmen die Namespaces in meinem Projekt nicht immer eins zu eins mit den bereitgestellten Einheiten überein. Angenommen, Sie haben

 
lib    -> lib.dll 
lib.data  -> lib.dll 
lib.ecom  -> lib.ecom.dll 
lib.ecom.paypal -> lib.ecom.paypal.dll 

Mit anderen Worten, Kind Namespaces oder nicht mit dem Mutterschiff kann.

So sind die Namespaces, die zusammen gruppiert in irgendeiner Weise bereitstellen?

Übrigens verwende ich nicht VS oder NAnt — nur gute altmodische Build-Chargen.

Antwort

1

Normalerweise denke ich nicht wirklich darüber nach und tue nur "was sich richtig anfühlt", aber normalerweise verwende ich Namen, die der folgenden Strategie ziemlich gut entsprechen.

Ich verwende den höchsten gemeinsamen Namespace in der Baumstruktur für den .dll-Namen, so wie Sie es anscheinend tun;

mit lib und lib.data das ist lib so die DLL heißt lib. Mit lib.ecom und lib.ecom.paypal ist dies lib.ecom, also heißt die DLL ecom.

In einigen Fällen können Sie über Dinge, die ein bisschen mehr zum Beispiel denken, müssen wir haben die folgenden Namespaces (Warnung, einfaches Beispiel kommen), und wir gruppieren wollen, dass sie in zwei DLL

myapp.view 
myapp.presentation 

myapp.model 
myapp.dataaccess 

wir können‘ t verwende myapp, denn dann hätten wir zwei myapp-Assemblys. In diesem Fall verwende ich den Namen des Namespaces, der am besten geeignet ist. Die erste könnte myapp.presentation und die zweite myapp.model heißen, wenn diese Namespaces am wichtigsten sind.

Verwandte Themen