J'essaie d'obtenir une poignée sur la meilleure pratique pour le code organisation au sein de mon projet. J'ai regardé autour de l'Internet pour de bons exemples et, jusqu'ici, j'ai vu exemples d'un projet Web avec une ou plusieurs bibliothèques de classes de soutien qu'il référence ou un projet Web avec sous-dossiers qui suivent ses conventions d'espace de noms .Code Organisation Connundrum: projet Web avec plusieurs DLL de support?
En supposant qu'il n'y a pas de réponse, c'est ce que je actuellement ai pour l'organisation du code:
MyProjectWeb
Ceci est mon site web. Je référence mes bibliothèques de classes ici.
MyProject.dll
Comme l'espace de noms de base, je me sers de cette DLL pour les fichiers doivent être généralement consommables. Par exemple, ma classe "Enums" qui a toutes les énumérations dans mon projet vit là. Comme fait classe MyProjectException pour toutes les gestion d'exception.
MyProject.IO.DLL
C'est un groupe de fichiers peut-être 20 qui gèrent le téléchargement de fichiers et téléchargement (jusqu'à présent).
MyProject.Utilities.DLL
mes classes et ALl méthodes communes retroussée ensemble dans une DLL généralement consommable. Chaque classe fait suite à une convention "XHelper" tels que « SqlHelper, AuthHelper, SerializationHelper, et ainsi de suite ...
MyProject.Web.DLL
J'utilise cette DLL comme la principale interface client. droit maintenant, la majorité des fichiers de classe ici sont:
1) propriétés (telles que l'école, l'emplacement, compte, messages) 2) substance d'autorisation (adhésion personnalisée, rôle personnalisé, & fournisseurs profil personnalisé)
Ma question est simplement - est-ce logique?
De même, comment éviter d'avoir à croiser des DLL de référence d'une bibliothèque de projet à la suivante? Par exemple, MyProject.Web.DLL utilise le code de MyProject.Utilities.DLL et MyProject.Utilities.DLL utilise le code de MyProject.DLL. Est-ce résolu en cliquant sur les propriétés et en sélectionnant "Dépendances"? J'ai essayé cela mais ne semble toujours pas accéder aux espaces de noms de l'ensemble que j'ai choisi. Dois-je référencer chaque assemblage dont j'ai besoin pour chaque bibliothèque de classes?
Les réponses ont été appréciées et merci pour votre patience.