2008-11-24 6 views

Antwort

33

Angenommen, Sie sprechen über .NET (in Bezug auf Visual Studio), dann ist der Root-Namespace Teil jeder Klasse, die Sie in einem Visual Studio-Projekt erstellen. Es ist auch die Basis für alle Sub-Namespaces, die beim Erstellen einer Klasse innerhalb eines Projektordners automatisch zugewiesen werden.

Mit einem Basisnamespace von ACMECorp.Bombs würden alle Ihre Klassen also Teil des ACMECorp.Bombs-Namespace werden, so dass die Klasse GravityBomb den vollständigen Namen ACMECorp.Bombs.GravityBomb haben würde. Eine Klasse namens FlyingBomb, die in einem Projektordner mit dem Namen "GuidedBombs" erstellt wurde, hätte den vollständigen Typnamen ACMECorp.Bombs.GuidedBombs.FlyingBomb.

Die Versammlung Name ist einfach der Name der kompilierten Datei, die Ihr Code entweder als ausführbare Datei oder Bibliothek etc ...

Eine Frage, die ich oft auf diese sehe kompiliert wird, ist sollte Ihr Assemblierungsnamen ist der gleiche wie der Root-Namespace und auch der Name Ihres Projekts (wieder im Visual Studio). Früher war ich der Ansicht, dass ein Projektname genauso wie der Assemblyname dem Root-Namespace entsprechen sollte, genauso wie es bei Visual Studio der Standard ist. Allerdings, wenn Sie einige wichtige Refactoring und Umbenennung tun müssen, kann dies zu einem Schmerz in der Penner werden, vor allem, wenn Sie Quellcodeverwaltung verwenden (wie Sie dann beginnen sollten, die Projektordner umbenennen).

Mein Vorschlag wäre, dass Ihr Projektname einfach ein beschreibender Name des Inhalts des Projekts ist. Ihre Montage Name sollte der Technologiebereich bestehen und Komponentenbeschreibung oder Firmennamen und Technologiebereich (je nach preferance), und die Wurzel-Namensraum, wie durch die Microsoft-Benennungsstandards so beschrieben werden:

Projekt: Biometrische Device Access

Montage: BiometricFramework.DeviceAccess.dll

Namespace: ACME.BiometricFramework.DeviceAccess

Einige Referenzmaterial für Sie:

http://blogs.msdn.com/brada/archive/2003/04/19/49992.aspx

http://msdn.microsoft.com/en-us/library/ms229026.aspx

http://msdn.microsoft.com/en-us/library/ms229048.aspx

-1

In .NET Framework wird die System-Namespace über eine Anzahl von Baugruppen aufgeteilt, insbesondere mscorlib.dll &-System .dll