Ich richte eine neue App ein, mit einer Repository-Schicht/Assembly, einer Dienste-Schicht/Assembly und einer UI-Assembly.
Also habe ich am Ende Namensräume wie:
App.UI App.Biz.Dienste App.Data.Repositories
Und dann habe ich Enums für die Args, die von allen 3 Schichten verwendet werden. Der einzige Ort, an dem es Sinn macht, ist, sie in die Cross-Cutting-Baugruppe aufzunehmen. (Definieren Sie sie in Daten-Ebene zu niedrig, wie UI sollte keine direkte Referenz zu ihnen, definiert in Services, zu hoch für Repository-Ebene, die nicht nach oben referenzieren sollte).
Aber... welcher Namensraum in Common? Namespaces sollten hauptsächlich dazu verwendet werden, Belange zu definieren, und nicht Type... Ich habe immer etwas verwendet wie:
namespace App.Common.Enums {...}
aber es hat sich immer ein bisschen wie ein Hack angefühlt, der für mich funktioniert, aber nicht gut in einer großen Organisation, in der jeder Enums erzeugt, und wenn wir sie alle in den Enums-Ordner legen, wird der Code-Ordner später schwerer zu verstehen sein.
Irgendwelche Vorschläge?