juste ajouter mes 2 cents à cette question, d'élargir la réponse de Jon avec quelques « été là - fait que » l'expérience:
Je suis allé dans plusieurs solutions, au moins deux projets nommés par espace de noms (bien, sorte de). Par exemple, en travaillant sur la solution MyApp, j'aurais MyApp.Web
et MyApp.Web.Controls
.
Ou: MyApp.Service
, MyApp.Core
, MyApp.Core.Entities
et ainsi de suite. Assez bien connu convention de nommage, où l'espace de noms racine va comme MyCompany.MyApp.Service etc...
Avantage: - trouvé très utile lorsque l'on travaille dans une équipe, pour mettre en évidence les dépendances entre les modules d'applications. Si votre module Web.Controls
(c'est juste un exemple, ne choisissez pas :) est partagé sur l'interface Web, vous ne voulez généralement pas de code spécifique à l'application dans vos contrôles personnalisés. Garder le module "enfant/imbriqué" séparé (référencé par le projet principal) renforce cela. - au moins y penser vous aidera potentiellement à créer une meilleure structure de projet. Quel espace de noms va dans un projet séparé et lequel ne le fait pas? Répondre à la question seule est assez utile.
Inconvénient: - il est très facile d'obtenir « la gâchette facile » et de créer une centaine de projets au lieu de faire des dossiers appropriés/namespaces. Cela dit, habituellement, vous avez tendance à créer des dossiers au lieu de projets séparés, sauf dans le cas où c'est vraiment un "sous-module".
L'espace de noms imbriqué accède probablement à l'espace de noms parent, mais pas vice versa. L'espace de noms parent ne dépendra pas de l'espace imbriqué. Donc, par exemple) "Project.Common.Util" pourrait faire référence à "Project.Common" mais "Project.Common" sera inconscient de "Project.Common.Util" – Sung
@Sung: Je suis en désaccord par exemple System.Data.DataTable.Load (IDataReader) n'est qu'un exemple. J'ai également vu ce doen où beaucoup de classes de configuration pourraient être poussées vers un espace de noms enfant. – JoshBerke
@Josh: Cela ne créerait-il pas une référence circulaire habituellement? – Sung