Nom collisions entre les couches
-
18-09-2019 - |
Question
Je développe un très cool (et très grand) n-tier application.
En fait, j'ai les ensembles suivants:
Domaine
Domain.Contracts
Services
Services.Contracts
Presentation.Admin
Presentation.Web
Presentation.Core (partagé entre Admin & Web)
Je peux mettre en œuvre Presentation.Core.Contracts
Ma question principale que je suis aux prises avec des collisions de nom entre les différentes couches. Ie.
Services.Contracts.AccountServicesRequest
Domain.Contracts.AccountServicesRequest
J'ai eu le même problème avec les noms de services (dans ce cas, je suis juste en utilisant des classes comme les services plutôt que WCF, etc.). -À-dire:
Services.Contracts.IAccountService
Domain.Contracts.IAccountService
Je résolus en faisant cela maintenant tous les « gestionnaires de services » dans la couche de domaine IxxxServiceHandler qui me donne ceci:
Services.Contracts.IAccountService
Domain.Contracts.IAccountServiceHandler
Cependant, je ne l'ai pas été en mesure de résoudre ce problème avec les objets qui sont passés dans les deux sens entre les couches. Cela semble être saupoudré dans un tas d'endroits à travers ma solution (s). J'étais curieux de voir si quelqu'un a eu les mêmes problèmes. Si oui, comment avez-vous les résoudre?
La solution
Oui, je l'ai rencontré ce problème, mais je l'ai fixé chaque fois assez tôt.
Une bonne convention de nommage des classes peut aider. Évitez d'utiliser le même nom dans les classes à travers plusieurs couches.
Vous pouvez utiliser alias espace de noms, de sorte que vous serait en utilisant, par exemple:
services::IAccountService
domain::IAccountService
Est-ce que cette aide?