Asp.net_MVC5_DDD_EF6_IoC
Asp.net C# MVC5, EF6, DDD, IoC
Este é um projeto DDD feito em Asp.Net em C# usando MVC 5, EF6 e Ninject como IoC. Neste projeto é possível verificar implementações de:
- Padrão de repositório genérico com Unidade de Trabalho.
- Programação para interfaces.
- Princípios SÓLIDOS:
- Princípio de responsabilidade única => Em C# e JavaScript (usando padrões) cada classe tem um único motivo para mudar.
- Princípio de abertura e fechamento => o uso do padrão de design de fábrica em RecipeMs.Infra.ImportData é uma forma de implementá-lo.
- Princípio de Liskov => Bons exemplos de encapsulamento.
- Princípio de segregação de interface => as interfaces são curtas, não há exceção "não implementada", melhor vista em RecipeMs.Application.
- Inversão de dependências => O uso do Ninject para injetar dependências para as classes depende de abstrações e não de classes concretas.
- O padrão JavaScript do módulo e o protótipo revelador para produzir encapsulamento usam-no mais como programação orientada a objetos.
- Bootstrap 3, CSS 3 e HTML5.
- Serialização JSON personalizada.
- Entidades genéricas.
- Separação de preocupações em camadas específicas.
- Domínio => núcleo do sistema, não depende de ninguém. Possui entidades e serviços. (DDD).
- Dados => implementações concretas do acesso a dados.
- Aplicação=> conexão entre dispositivos de apresentação com a camada de domínio.
- Comum => utilitários gerais.
- Ioc => Implementação de injeção de dependência.
- ImportData => conexão externa aos serviços de domínio.
- Estrutura da entidade 6
- Migrações e código primeiro.
- API fluente em vez de anotações nas entidades para separar ainda mais as preocupações. O modelo de dados é responsabilidade da camada de dados.
- Lide com a convenção do Entity Framework e personalize-a.
- MVC 5.