Frage zur Organisation von Namespaces

06/09/2007 - 14:09 von Robert Schneider | Report spam
Hallo!

Wollte mal fragen, wie ihr das macht oder was ihr empfehlt. Mir geht es um
die Namespaces und wie man sie sinnvoll organisiert. Ich habe z.B. folgende
Klassen (Namen sind jetzt nur mal so zur Kenntlichmachung gewàhlt):

Auto_Daten
Auto_Kommando_SetzeFarbe
Auto_Kommando_SetzePS
Auto_Steuerelement_TreeNode
Auto_Steuerelement_UserControl

Und das ganze auch nochmal für Motorad, Flieger, Schiff, usw. Und nun zwei
Namespace-Organisationmöglichkeiten:

1.)

namespace firmenname.fahrzeugverwaltung.Auto
namespace firmenname.fahrzeugverwaltung.Flieger
namespace firmenname.fahrzeugverwaltung.Schiff
usw.

2.)

namespace firmenname.fahrzeugverwaltung.Daten
namespace firmenname.fahrzeugverwaltung.Kommandos
namespace firmenname.fahrzeugverwaltung.Steuerelemente

Was ist wohl sinnvoller? Oder gàbe es noch andere Varianten? Mich
interessiert das auch in Hinsicht auf Aufteilung in Assemblys und vielleicht
auch in Hinsicht auf Organisation der Dateien und Verzeichnisse der
Projekte.

Was ist empfehlenswert?

Danke und Gruß,
Robert
e-mail: r_.s_chnei_der\wein_gart_ner.com (remove all '_' and replace '\'
with
'@')
 

Lesen sie die antworten

#1 Henning Eiben
06/09/2007 - 22:50 | Warnen spam
Robert Schneider wrote:

Wollte mal fragen, wie ihr das macht oder was ihr empfehlt. Mir geht es
um die Namespaces und wie man sie sinnvoll organisiert. Ich habe z.B.
folgende Klassen (Namen sind jetzt nur mal so zur Kenntlichmachung
gewàhlt):



Also ich mache das in der Regel so, daß sich die Namen der Namenspaces
wie folgt zusammensetzen:

[TopLevelDomain := Land].[Domain := Firmenname].[Applikationsname]

Damit geht es in der Regel ersteinmal los. Dann kommt in der Regel:

.Business (= Geschàftslogik; je nach Umfang der Anwendung enthàlt dies
ggf. nur die Interface-Definitionen)
.BusinessImpl (Implementierung der Business-Interfaces)
.Web (= ASPX-Seiten bei Web-Anwendungen)
.Web.Controls (falls es eigene Controls für die Anwendung gibt)
.BusinessTests (Unittests der Geschàftslogik)

Diese ganzen Sub-Namespaces innerhalb der Anwendung sind dann auch
entsprechend in einzelnen Ordnern, wobei ich in der Regel erst bei dem
Anwendungsnamen anfange und nicht den Baum komplett von der TLD
ausgehend aufziehe (die ersten Ordner wàren ja sowieso leer).

Je nach Größe und Komplexitàt teilen sich die Namenspace auf
verschiedene Assemblies auf. Die Tests sind immer in einer eigenen
Assembly, weil ich die ja spàter in der Anwendung nicht mit installieren
will. Habe ich z.B. neben der Web-Anwendung auch eine WinForms
Anwendung, die auf die gleiche Geschàftslogik zugreift, dann sind Web
und Business auch in unterschiedlichen Assemblies.

Was ist empfehlenswert?



Das ist zumindest mein aktuelles vorgehen :) aber mit jedem Projekt
lernt man ja dazu und somit veràndert sich das vorgehen auch immer
wieder ein wenig. Und schließlich hàngt auch vieles davon ab, wie groß
und Komplex dein Projekt ist, und nicht zuletzt wieviel Wert du auf
Komponentenbildung und Austauschbarkeit legst. Je mehr du auf
unterschiedliche Assemblies aufteilst, desto einfacher ist es einzelne
Elemente auszutauschen.



Henning Eiben

busitec GmbH
Consultant

e-mail:


+49 (251) 13335-0 Tel
+49 (251) 13335-35 Fax

Rudolf-Diesel-Straße 59
48157 Münster
www.busitec.de

Sitz der Gesellschaft: Münster
HR B 55 75 - Amtsgericht Münster
USt-IdNr. DE 204607833 - St.Nr. 336/5704/1277
Geschàftsführer: Simon Böwer, Henning Eiben, Stefan Kühn, Martin Saalmann



... Gentlemen: Start your debuggers...

Ähnliche fragen