Atualmente não trabalho em "projetos reais" com DDD, TDD, Scrum e
afins, porém tenho tentado estudar estes recursos.
E surgiu a seguinte dúvida, no meu projeto para fins de estudo eu
tenho umas três ou quatro classes apenas e fiz da seguinte forma,
dentro da minha camada de domínio (um projeto do tipo "class library")
eu criei um diretório chamado Entidades e naturalmente estou colocando
minhas entidades nela; porém se eu quiser usar Interfaces, classes
abstratas e etc.; existe alguma recomendação em segmentar por
diretórios também?
Algo como:
+ Entidades
+ Interfaces
+ Whatever...
No meu caso com poucas classes acho que seria indiferente, mas em
situações onde o número de classes aumenta um pouco isso pode
"amenizar" um pouco, seria assim mesmo ou é tudo junto mesmo?
--
Att.,
Rodrigo Braga
--
Você recebeu esta mensagem porque faz parte do grupo .Net Architects hospedado no Google Groups.
Para postar envie uma mensagem para dotnetar...@googlegroups.com
Para sair do grupo envie uma mensagem para dotnetarchitec...@googlegroups.com
Para mais opções visite o grupo em http://groups.google.com/group/dotnetarchitects?hl=pt-br
Tendo isso em mente, e concordando com o q disse o Denis e o Ricardo,
acho que faz mais sentido encontrar uma interface dentro de um
namespace de dominio, infra etc, do que num namespace
"MeuSistema.Interfaces".
2010/7/28 Denis Ferrari <denis....@gmail.com>:
> Não me parece legal a organização por tipos. O domínio é dividido em pacotes
> (de negócio), e todo tipo criado será armazenado em seu respectivo pacote,
> sem divisões que não dizem respeito ao domínio propriamente dito.
> Abraços!
>
> Denis Ferrari - "Faça pouco, faça sempre e faça direito"
>
> Quer aprender TDD?
> www.heroisdati.com/tdd-para-iniciantes-para-quem-quer-comecar-e-nao-sabe-como/
>
> www.denisferrari.com
> www.mindworks.com.br | www.msdev-es.com.br | www.minhacarreira.com |
> www.mare-vix.com
>
>
> 2010/7/28 Bruno D'Alessio <bruno...@gmail.com>
>>
>> A estruturação de diretórios diz respeito a organização.
>> Existe alguns documentos na WEB, bem interessantes sobre isso.
>>
>> Eu pessoalmente gosto de dividir cada "tipo" em seu diretório.
>>
>> Quanto a projetos do VS, você dividir seu dominio em mais de um projeto,
>> eu recomendo para projetos "gigantes", onde talvez, você desacoplar,
>> a estrutura fisica gere beneficios.
>>
>> Quando não, pode-se centralizar sem temor algum, seu dominio em apenas um
>> projeto.
>>
>> Desde que a divisão / hierarquia das camadas esteja evidente na sua
>> solução e sua estrutura de diretórios facilite a localização dos arquivos,
>> fique a vontade.
>>
>> Abs,
2010/7/28 Bruno D'Alessio <bruno...@gmail.com>:
>> >> Em 28 de julho de 2010 12:30, Ricardo Simões <rsc...@gmail.com>
--
Att.,
Rodrigo Braga
Depende do ponto de vista.
Do ponto de vista da equipe de desenvolvimento, realmente parece mais
interessante. Mas do ponto de vista do negócio, não é nada interessante
separar as entidades/interfaces por este tipo de separação.
No livro, o Evans explica que este tipo de separação (Dominio.Entidades,
Dominio.Interfaces...) "amontoa" objetos que conceitualmente não possuem
coesão. Segundo ele: "The packages tell a story, but is not the story of
shipping; it is the story of what the developer was reading at the time"
Ao invés disso, ele sugere que seja feita uma divisão do tipo:
Dominio.Cliente
Dominio.Faturamento
Dominio.Entrega
Ou seja: "We should be looking for the cohesive concepts and focusing on
what we want to communicate to others on the project."
Desta forma, "The Module names contribute to the team´s language".
No Dominio.Cliente, por exemplo, deverão existir entidades, objetos de
valor, interfaces, factories que façam sentido para o contexto de cliente, e
assim por diante nos outros diretórios. No final das contas essa acaba sendo
a melhor divisão do ponto de vista da equipe também, pois se você tiver que
fazer alguma manutenção em Cliente, você encontrará em um mesmo diretório as
entidades/interfaces relativos a Cliente que você provavelmente precisará
alterar em decorrência de alguma alteração.
Abs!
-----Mensagem original-----
De: dotnetar...@googlegroups.com
[mailto:dotnetar...@googlegroups.com] Em nome de Rodrigo Braga
Enviada em: quarta-feira, 28 de julho de 2010 14:21
Para: dotnetar...@googlegroups.com
Assunto: Re: [dotnetarchitects] Dúvida sobre organização no Domínio
Avaliando a mensagem é interessante o fato de que algo tão óbvio não
soou natural de imediato para mim (e muitas outras pessoas acredito
eu)
2010/7/28 Daniel <daniels...@gmail.com>:
Nao sei se essa resposta foi pra mim mesmo ou pra outra pesoa, mas de
qq forma o que eu quis dizer na mnha mensagem vai de acordo com o q vc
disse aí: primeiro eu procuro pensar em termos de namespaces que façam
sentido pra aplicação (e no caso de DDD seria dentro dessa divisão q
vc exemplificou) e aí eu crio os diretórios (e projetos) espelhando
essa divisão. No sistema legado em que trabalho a divisão de
diretórios é por tipo (Interfaces, Exceptions etc), totalmente
desconectado da hierarquia de namespaces, então achar onde fica o
código pra uma coisa é sempre demorado.
- Rodrigo
2010/7/28 Daniel <daniels...@gmail.com>:
Abs.
-----Mensagem original-----
De: dotnetar...@googlegroups.com
[mailto:dotnetar...@googlegroups.com] Em nome de Rodrigo Vieira
Enviada em: quarta-feira, 28 de julho de 2010 15:20
2010/7/28 Daniel <daniels...@gmail.com>: