Pergunta

Então, estou desenvolvendo um aplicativo de n camadas muito legal (e muito grande).

Basicamente tenho as seguintes montagens:

Domínio
Domínio.Contratos

Serviços
Serviços.Contratos

Apresentação.Admin
Apresentação.Web
Presentation.Core (compartilhado entre Admin e Web)
Posso implementar Presentation.Core.Contracts

Meu principal problema com o qual estou lutando são as colisões de nomes entre as diferentes camadas. Ou seja.

Serviços.Contratos.AccountServicesRequest
Domínio.Contratos.AccountServicesRequest

Tive o mesmo problema com nomes de serviços (neste caso, estou apenas usando classes como serviços em vez de WCF, etc.).Ou seja:

Serviços.Contratos.IAccountService
Domínio.Contratos.IAccountService

Resolvi isso criando todos os "manipuladores de serviço" na camada de domínio IxxxServiceHandler, o que me dá o seguinte:

Serviços.Contratos.IAccountService
Domínio.Contratos.IAccountServiceHandler

No entanto, não consegui resolver esse problema com os objetos que são passados ​​entre as camadas.Isso parece estar espalhado em vários lugares por meio de minhas soluções.Eu só estava curioso para ver se alguém teve os mesmos problemas.Se sim, como você os resolveu?

Foi útil?

Solução

Sim, encontrei esse problema, mas sempre o corrigi rapidamente.

Uma boa convenção de nomenclatura de classe pode ajudar.Evite usar o mesmo nome em classes em múltiplas camadas.

Alternativamente, você pode usar aliases de namespace, para que você use, por exemplo:

services::IAccountService
domain::IAccountService

Isso ajuda?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top