2009-10-13 3 views
0

Je suis sur le point de développer une bibliothèque de classes .NET qui sera consommée par plusieurs projets. . Je suis arrivé à un point dans ma conception où je ne suis pas 100% sûr de commander mes espaces de noms doivent être imbriquées dans les deux options que je vois sont:Ordre des termes préférés dans le nom de l'espace de noms

Le projet partagé utilise

MyCompany.Common.Web 
    MyCompany.Common.Data 
    MyCompany.Common.Utils 

à chaque projet puis en utilisant

MyCompany.ProjectName.Web 
    MyCompany.ProjectName.Data 
    MyCompany.ProjectName.Utils 

ou je feuillette et l'utiliser

MyCompany.Web.Common 
    MyCompany.Web.ProjectName 
    etc 

ce qui est considere d meilleure pratique/plus largement utilisé? J'ai vu les deux sur le net. Personnellement, l'option 1 semble plus logique.

Répondre

2

La pratique recommandée, je crois est la suivante:

Company.Product.Functionality

Si vous avez des fonctionnalités partagées, qui constituerait un « produit » en lui-même, à mon avis. Mon habitude, dans ce cas, est de nommer ce produit "Framework".

Par conséquent, nous avons:

Share.Framework.Data 
Share.Framework.Data.Oracle 
Share.Framework.IO 
Share.Framework.Security 

et ainsi de suite. Nous avons aussi,

Share.[Specific product].Windows 
Share.[Specific product].Data 
Share.[Specific product].Payroll 

bla bla bla.

Vous voyez les images. (BTW, Partager est le nom de notre société.)

0

Je n'utiliserais (2) que si ce code est spécifique au projet, ce qui n'est presque jamais une bonne hypothèse à faire. (3) n'a de sens que si ceux-ci sont spécifiquement liés au web; L'une des bonnes choses à propos de .NET est que vous pouvez réutiliser votre code avec des applications WPF/Winforms ou à peu près n'importe quoi d'autre.

Je collerais avec (1).

Questions connexes