Arquitetura MVC + MVVC

1005 palavras 5 páginas
Definição de Arquitetura
Proposta de Arquitetura de Referência – SW

Design Patterns
MVC:
Modelo arquitetural da aplicação;
Definido pelo framework ASP .Net MVC 5. http://www.w3schools.com/aspnet/mvc_intro.asp http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started
ViewModel
Design pattern que visa reduzir o acoplamento entre as camadas Model e View do MVC. http://eduardopires.net.br/2013/08/asp-net-mvc-view-model-pattern-quando-e-como-utilizar/ (Confira todas as referencias do artigo).
Repository e Unit of Work
O Repository e o Unit of Work destinam-se a criar uma camada de abstração entre a camada de acesso a dados e a camada de lógica de negócios de uma aplicação. A implementação desses padrões pode ajudar a isolar a sua aplicação a partir de mudanças no armazenamento de dados e pode facilitar o teste de unidade automatizado ou desenvolvimento orientado a testes (TDD). http://www.asp.net/mvc/tutorials/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application Camadas DAL (Acesso a Dados) e BLL - Services (Lógica de Negócio)
Desmembramento do Model do MVC em duas camadas para dar mais organização ao código da aplicação.
Camada DAL: as classes de Repositories e a classe UnitOfWork ficam nessa camada.
Camada Service (BLL): Contém as classes de regras de negócio da aplicação, ou seja, ficam no meio da comunicação dos Controllers com o Acesso a dados. Na service são utilizados apenas os Models/Entidades da aplicação nunca os ViewModels, fica a cargo dos Controllers a conversão entre ViewModels e Models.
Estrutura de Diretórios
App_Data (Dados gerados pela aplicação, exemplo: Logs do componente Elmah)
App_Readme (Contém arquivos readme da aplicação)
App_Start (Contém Classes com funções para inicializar a aplicação)
Content (Imagens e CSS da aplicação)
Controller (Classes da camada controller)
DAL (Classes da camada de acesso a dados e a UnitOfWork)
Models

Relacionados