git clone [email protected]:shengyu-kmust/SnailAspNetCoreFramework.git
git clone [email protected]:shengyu-kmust/Snail.git
cd SnailAspNetCoreFramework
dotnet build
El siguiente es un diagrama de demostración basado en la versión v1.0.
--ApplicationCore // La capa de abstracción central adopta un modo de arquitectura clara y no depende de otras capas. Los otros tres proyectos dependen de este tipo de biblioteca y son responsables de definiciones públicas como interfaces, constantes, enumeraciones, dto, entidades. etc.
----Const // Definición de constantes, como constantes de configuración, constantes de nombre de evento
----Dtos // todos los dtos
----Entidades // Todas las entidades
----Enums // enumeración
----IServices //Definición abstracta de capa de servicio
----Utilidades // Clase de ayuda
--Infraestructura // La capa de infraestructura proporciona servicios de datos para las capas superiores (como la capa de servicio y la capa de aplicación).
----Data/config // Configuración fluida de la API del marco de entidad de la base de datos
----EFValueConverter // Conversión entre el tipo de base de datos de entidad y el tipo clr, como la conversión de enumeración
----Migraciones //Generar primero el directorio para la migración del código del marco de entidad
--Service // Capa de servicio, utilizada para implementar la interfaz de servicio en ApplicationCore, la capa principal para la implementación de la lógica de la aplicación
----Caché // Implementación de caché, que se eliminará y extraerá al proyecto Snail más adelante.
----Interceptor //Interceptor implementado por defecto
----BaseService.cs // La clase base de cada servicio contiene los métodos comunes de cada servicio, como CRUD
----InitDatabaseService.cs // Responsable de la inicialización de los datos de la base de datos
----InterceptorService.cs //Clase base del interceptor
--Web // Responsable de todo el procesamiento relacionado de entrada y salida de parámetros de interfaz (como verificación de parámetros, reserva de formato de salida, etc.)
----AutoFacModule // configuración de inyección autofac
----AutoMapperProfiles // configuración del mapeador automático
----ClientApp // Proyecto front-end
------build // Directorio de salida generado por la compilación front-end
------mock // simulacro de front-end
------src // Código central de front-end
----CodeGenerater //Módulo T4 y lógica relacionada para la generación de código
----ConfigureServicesExtensions // Extensiones de inyección de ServiceProvider para evitar escribirlas en el archivo de inicio
----Controladores //Controladores
----docs // Conjunto de documentos
----Dto // La clase dto solo se usará en la capa web
----Filtro // filtro
----Hubs // señalizador
----Permiso //Implementación predeterminada de permisos
----staticFile // Se utiliza para almacenar archivos cargados
Se utiliza DDD, pero se deben aplicar diferentes tecnologías de DDD según el tamaño del proyecto. En términos generales, se divide en los siguientes proyectos.
Impulsado por el dominio, si depende de otras capas, depende de la interfaz de la capa correspondiente en lugar de la implementación.
Utilice los modos de repositorio y unidad de trabajo, pero utilice el modo de repositorio que viene con EF.
1. git clone este proyecto 2. Configure codeGenerate.json 3. Ejecute este proyecto y, después de iniciar sesión en swagger, ejecute la interfaz codeGenerate 4. Ejecute add-migration 5. Inicie el proyecto
Blog de la serie de marcos SnailAspNetCoreFramework
1. Introducción e ideas generales de diseño de cada proyecto y directorio dentro del marco: marco de desarrollo rápido SnailAspNetCoreFramework
2. Verificación de entrada de interfaz, formato de salida y manejo de excepciones: diseño de back-end del marco de desarrollo rápido SnailAspNetCoreFramework
3. Diseño de permisos universales: diseño back-end del marco de desarrollo rápido SnailAspNetCoreFramework
4. Cómo proporcionar buenos documentos de interfaz (Swagger) al front-end: diseño de back-end del marco de desarrollo rápido SnailAspNetCoreFramework
5. Uso de caché en varios escenarios: diseño de backend del marco de desarrollo rápido SnailAspNetCoreFramework
6. Diseño AOP basado en Castle e implementación común de caché, rendimiento e interceptor de registros: diseño de back-end del marco de desarrollo rápido SnailAspNetCoreFramework
7. Introducción a la inyección de dependencias - autofac - Diseño back-end del marco de desarrollo rápido SnailAspNetCoreFramework
8. Por qué usar Eventbus y cómo usarlo: diseño back-end del marco de desarrollo rápido SnailAspNetCoreFramework
9. Introducción a Nlog, el componente de registro: diseño back-end del marco de desarrollo rápido SnailAspNetCoreFramework
10.Introducción a Mediatr: diseño de back-end del marco de desarrollo rápido SnailAspNetCoreFramework
11. Diseño CRUD universal para capas de controlador, servicio y dal: diseño de backend del marco de desarrollo rápido SnailAspNetCoreFramework
12. Herramienta de mapeo de objetos Automatapper: diseño de back-end del marco de desarrollo rápido SnailAspNetCoreFramework
13. Cómo monitorear las declaraciones SQL generadas por EF: diseño de back-end del marco de desarrollo rápido SnailAspNetCoreFramework
14. Introducción a varios métodos de implementación de .net core: diseño de back-end del marco de desarrollo rápido SnailAspNetCoreFramework
15. Señalizador de comunicación en tiempo real: diseño de back-end del marco de desarrollo rápido SnailAspNetCoreFramework
16. Cómo utilizar el código ef primero para iterar continuamente la versión de la base de datos del proyecto: diseño back-end del marco de desarrollo rápido SnailAspNetCoreFramework
17. Introducción a la función de generación automática de código: diseño back-end del marco de desarrollo rápido SnailAspNetCoreFramework
18. Cómo monitorear si cada función del proyecto es normal (HealthCheck): diseño de back-end del marco de desarrollo rápido SnailAspNetCoreFramework
19. Introducción a Hangfire para tareas programadas: diseño de backend del marco de desarrollo rápido SnailAspNetCoreFramework
20. Introducción general al front-end: diseño del front-end del marco de desarrollo rápido SnailAspNetCoreFramework
21. No más ruegos por interfaces de back-end (uso de MOCK): diseño de front-end del marco de desarrollo rápido SnailAspNetCoreFramework
22. Control de permisos de front-end: diseño de front-end del marco de desarrollo rápido SnailAspNetCoreFramework
23. Cómo evitar escribir repetidamente código CRUD de front-end (introducción y uso de varios componentes SnailXXX en el front-end) -Diseño de front-end del marco de desarrollo rápido SnailAspNetCoreFramework
24. Introducción a la solicitud de proxy: diseño frontal del marco de desarrollo rápido SnailAspNetCoreFramework