git clone [email protected]:shengyu-kmust/SnailAspNetCoreFramework.git
git clone [email protected]:shengyu-kmust/Snail.git
cd SnailAspNetCoreFramework
dotnet build
A seguir está um diagrama de demonstração baseado na versão v1.0
--ApplicationCore // A camada de abstração central adota o modo de arquitetura clara e não depende de outras camadas. Os outros três projetos dependem deste tipo de biblioteca e são responsáveis pelas definições públicas de interfaces, constantes, enumerações, dtos, entidades, etc. .
----Const // Definição de constante, como constantes de configuração, constantes de nome de evento
----Dtos // todos os dtos
----Entidades // Todas as entidades
----Enums // enumeração
----IServices //Definição abstrata da camada de serviço
----Utilitários // Classe de ajuda
--Infraestrutura //A camada de infraestrutura fornece serviços de dados para as camadas superiores (como camada de serviço e camada de aplicação).
----Data/config // Configuração de API fluente do framework de entidade de banco de dados
----EFValueConverter // Conversão entre o tipo de banco de dados entidadeframework e o tipo clr, como conversão de enumeração
----Migrações //Gerar diretório para migração do código do EntityFramework primeiro
--Service // Camada de serviço, usada para implementar a interface de serviço no ApplicationCore, a camada principal para a implementação da lógica da aplicação
----Cache // Implementação do cache, que será removido e extraído para o projeto Snail posteriormente.
----Interceptor //Interceptor implementado por padrão
----BaseService.cs //A classe base de cada serviço contém os métodos comuns de cada serviço, como CRUD
----InitDatabaseService.cs // Responsável pela inicialização dos dados do banco de dados
----InterceptorService.cs //Classe base do interceptador
--Web // Responsável por todo o processamento relacionado de entrada e saída de parâmetros de interface (como verificação de parâmetros, reserva de formato de saída, etc.)
----AutoFacModule // configuração de injeção autofac
----AutoMapperProfiles // configuração do automapper
----ClientApp // Projeto front-end
------build // Diretório de saída gerado pela compilação front-end
------ simulação // simulação de front-end
------src // Código principal do front-end
----CodeGenerater //Módulo T4 e lógica relacionada para geração de código
----ConfigureServicesExtensions // Extensões de injeção do ServiceProvider para evitar gravá-las no arquivo de inicialização
----Controladores //Controladores
----docs // Conjunto de documentos
----Dto // A classe dto será usada apenas na camada web
----Filtro // filtro
---- Hubs // sinalizador
----Permissão //Implementação padrão de permissões
----staticFile // Usado para armazenar arquivos enviados
DDD é utilizado, mas diferentes tecnologias de DDD devem ser aplicadas de acordo com o tamanho do projeto. De modo geral, ele está dividido nos seguintes projetos.
Orientado por domínio, se depender de outras camadas, depende da interface da camada correspondente e não da implementação.
Use os modos de repositório e unidade de trabalho, mas use o modo de repositório que vem com o EF.
1. git clone este projeto 2. Configure codeGenerate.json 3. Execute este projeto e, após fazer login no swagger, execute a interface codeGenerate 4. Execute add-migration 5. Inicie o projeto
Blog da série SnailAspNetCoreFramework Framework
1. Introdução e ideias gerais de design de cada projeto e diretório dentro da estrutura - estrutura de desenvolvimento rápido SnailAspNetCoreFramework
2. Verificação de entrada de interface, formato de saída e tratamento de exceções - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
3. Design de permissão universal - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
4. Como fornecer bons documentos de interface (Swagger) para o front-end - SnailAspNetCoreFramework design de back-end da estrutura de desenvolvimento rápido
5. Uso de cache em vários cenários - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
6. Design AOP baseado em castelo e implementação de cache comum, desempenho e interceptador de log - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
7. Introdução à injeção de dependência - autofac - SnailAspNetCoreFramework design de back-end da estrutura de desenvolvimento rápido
8. Por que usar o Eventbus e como usá-lo - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
9. Introdução ao Nlog, o componente de log - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
10.Introdução ao Mediatr - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
11. Design CRUD universal para camadas de controlador, serviço e dal - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
12. Automapper da ferramenta de mapeamento de objetos - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
13. Como monitorar as instruções SQL geradas pelo EF - SnailAspNetCoreFramework design de back-end da estrutura de desenvolvimento rápido
14. Introdução a vários métodos de implantação do núcleo .net - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
15. Sinalizador de comunicação em tempo real - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
16. Como usar o código ef primeiro para iterar continuamente a versão do banco de dados do projeto - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
17. Introdução à função de geração automática de código - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
18. Como monitorar se cada função do projeto está normal (HealthCheck) - Design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
19. Introdução ao hangfire para tarefas agendadas - design de back-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
20. Introdução geral ao front-end - design de front-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
21. Chega de implorar por interfaces de back-end (uso de MOCK) - Design de front-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
22. Controle de permissão de front-end - design de front-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
23. Como evitar escrever repetidamente código CRUD front-end (introdução e uso de vários componentes SnailXXX no front-end) - Design front-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework
24. Introdução à solicitação de proxy - design front-end da estrutura de desenvolvimento rápido SnailAspNetCoreFramework