Können sagen, wir haben die folgenden Datei und [Ordner] Struktur in einem Projekt mit einem Haupt-Namensraum von MyNamespace
:richtig zuweisen Namensräume (mit ReSharper Vorschlägen)
- [Entities]
- Article.cs
- Category.cs
- [Schnittstellen]
- IReviewable.cs
- ISearchable.cs
- Enumerations.cs
Nach ReSharper Vorschlägen, der Namensraum des Klassen Article
und Category
sollte MyNamespace.Entities, der Namensraum von IReviewable
und ISearchable
sollte MyNamespace.Interfaces und der Namespace für die Enumerations
Klasse sein einfach MyNamespace sein sollte.
Dies liegt daran, dass die Vorschläge von ReSharper auf der Ordnerstruktur basieren und die Vorschläge darauf basieren, wo sich die Datei in der Struktur befindet.
Was halten Sie von den oben genannten Namespaces? Denken Sie, dass es richtig ist, Namespaces für Klassen (Interfaces etc ...) ausschließlich auf ihrem Speicherort zu implementieren?
Oder denken Sie, dass Namespace-Deklaration nicht nur von der Ordnerstruktur abhängen sollte?
Persönlich würde ich alle oben genannten Dateien unter dem einzigen MyNamespace setzen, da sie alle irgendwie miteinander verwandt sind.
Dies ist eine große Chance, Organisieren Sie einen Website-Namespaces. Die Struktur Ihrer Website ist fest, wenn Sie einen Appresort-Namespace-Vorschlag App_code.SomeFolderName endgültig löschen können. – klashar