Pergunta

Vindo de um ambiente de TI corporativo, o padrão sempre foi a criação de um projeto de biblioteca de classe para cada camada de Lógica de Negócio, Acesso a Dados, e, por vezes, de maior isolamento de tipos específicos.

Agora que eu estou trabalhando no meu próprio projeto de aplicativo da web, eu não vejo uma necessidade real para isolar o código dessa forma.

Eu não tiver vários aplicativos que necessitam de partilhar essa lógica ou serviço o permitir.Também não vejo qualquer vantagem para cenários de implantação.

Estou inclinado para colocar todos os artefatos em um aplicativo web, logicamente separados por pastas de projeto.

Eu queria saber o que os pensamentos são da comunidade.


Deixe-me acrescentar mais informações...

Eu estou escrevendo este aplicativo usando o MVC preview 5, de modo que o teste de unidade peça será suportado pela separação de preocupações herdar no quadro.Eu gostaria de ter testes para tudo!

Foi útil?

Solução

Começar com a coisa mais simples possível e adicionar complexidade, se e quando necessário.Soa como se um único assembly iria funcionar muito bem para o seu caso.No entanto, tome cuidado para não violar as camadas por ter Uma camada de acesso a um membro de camada B.Que tornaria mais difícil para puxar as camadas em diferentes montagens em uma data posterior.

Outras dicas

Eu diria que isso depende de quão sério você está sobre o teste e teste de unidade.

Se você pretende apenas fazer o usuário/manual de testes, ou usar basicamente, o teste somente a partir da INTERFACE do usuário para baixo, então ele não pode realmente fazer diferença.

Por outro lado, se você está pensando em fazer uma espécie de teste de unidade, ou de validação de regras de negócio, ele definitivamente faz sentido dividir o seu trabalho em diferentes conjuntos.

Até para pequenos projetos pessoais, acho que esta abordagem torna a minha vida mais fácil, conforme o projeto continua.Eu ainda executar tudo a partir da mesma solução, apenas com um projeto de web para a INTERFACE de biblioteca para as regras de negócio / a lógica da aplicação e outro para a biblioteca da DAL.

Você deve ainda separar logicamente as camadas em um adequado projetos.

Essa é uma boa prática de engenharia, se você está apenas a 1 desenvolvedor ou 100.O negativo sobre o código em um único lugar é que vai fazer com que você refatorar ou código duplicado para a expansão.

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