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?

Était-ce utile?

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?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top