Array
(
)

Divisão de um projeto ASP.NET MVC em camadas

Léo Jenkins
   - 14 nov 2013

Pessoal, bom dia!
Estou com uma dúvida na montagem da estrutura e arquitetura de um projeto que estou desenvolvendo.
Primeiramente, o projeto será um mini ERP que terá os módulos financeiro, compras, etc, mas que serão implementados aos poucos.
Decidir usar a arquitetura em n-camadas da seguinte forma
System.Presentation.[MVCWeb, MVCMobile]
Camada que irá conter os projetos que consumirão minha camada de negócio.
Inicialmente o sistema será um site para PC, mas deverá rodar em dispositivos mobiles no futuro
PRIMEIRA DÚVIDA: Eu posso fazer um projeto MVC com layout responsivo para atender aos mobiles e ao desktop, ou é melhor implementar dois projetos separados mesmo???
Falo isso, levando em consideração o carro flex que combina alcool e gasolina, mas nunca é melhor em desempenho que o carro 100% alcool ou 100% gasolina.

System.Business
Estrutura de pastas e classes que irão consumir os meus repositórios de CRUD para as minhas entidades.
Poderia conter um projeto com serviços que consomem meus repositórios, mas ainda não domino essa metodologia e preciso de uma arquitetura simples.
SEGUNDA DÚVIDA: Eu estou vendo algumas video aulas de um projeto em que o desenvolvedor criou os objetos de entidades aqui nessa camada, ao invés de criar na camada de dados.
Isso eu não entendi porque, de jeito nenhum.
Ele fala que não rola de usar as classes que o entity gera automaticamente, mas usando o code first onde eu crio as classes isso não faz sentido, ou faz???
Com isso o repositório na camada data depende dos objetos na business ao inves de usar os objetos na camada data

System.Data
Estrutura com os repositórios, arquivo de contexto e classes representando as entidades usando code-first
Como nessa camada eu crio as classes referentes as tabelas eu não entendi porque ao invés de usa-las direto daqui, o desenvolvedor, levou tudo pra camada de business.

Por enquanto é isso, agradeço a todos que puderem me ajudar nesse quesito, abraços