git clone [email protected]:shengyu-kmust/SnailAspNetCoreFramework.git
git clone [email protected]:shengyu-kmust/Snail.git
cd SnailAspNetCoreFramework
dotnet build
Ce qui suit est un diagramme de démonstration basé sur la version v1.0
--ApplicationCore // La couche d'abstraction principale adopte un mode d'architecture clair et ne dépend pas des autres couches. Les trois autres projets s'appuient tous sur ce type de bibliothèque et sont responsables des définitions publiques telles que les interfaces, les constantes, les énumérations, les dto, les entités, etc.
----Const // Définition de constante, telle que les constantes de configuration, les constantes de nom d'événement
----Dtos // tous les dtos
----Entités // Toutes les entités
----Enums // énumération
----IServices //Définition abstraite de la couche Service
----Utilitaires // Classe d'aide
--Infrastructure //La couche infrastructure fournit des services de données pour les couches supérieures (telles que la couche de service et la couche d'application).
----Data/config // Configuration API fluide du framework d'entité de base de données
----EFValueConverter // Conversion entre le type de base de données Entityframework et le type clr, telle que la conversion d'énumération
----Migrations //Générer d'abord le répertoire pour la migration du code du framework d'entité
--Service // Couche de service, utilisée pour implémenter l'interface de service dans ApplicationCore, la couche principale pour l'implémentation de la logique d'application
----Cache // Implémentation du cache, qui sera supprimée et extraite ultérieurement du projet Snail.
----Intercepteur //Intercepteur implémenté par défaut
----BaseService.cs //La classe de base de chaque service contient les méthodes communes de chaque service, telles que CRUD
----InitDatabaseService.cs // Responsable de l'initialisation des données de la base de données
----InterceptorService.cs //Classe de base de l'intercepteur
--Web // Responsable de tous les traitements associés aux entrées et sorties des paramètres d'interface (tels que la vérification des paramètres, la réservation du format de sortie, etc.)
----AutoFacModule // configuration de l'injection autofac
----AutoMapperProfiles // configuration du mappeur automatique
----ClientApp // Projet front-end
------build // Répertoire de sortie généré par la compilation frontale
------simulation // Simulation frontale
------src // Code principal du front-end
----CodeGenerater //Module T4 et logique associée pour la génération de code
----ConfigureServicesExtensions // Extensions d'injection de ServiceProvider pour éviter de les écrire dans le fichier de démarrage
----Contrôleurs //Contrôleurs
----docs // Ensemble de documents
----Dto // La classe dto ne sera utilisée que dans la couche web
----Filtre // filtre
----Hubs // signaleur
----Permission //Implémentation par défaut des autorisations
----staticFile // Utilisé pour stocker les fichiers téléchargés
DDD est utilisé, mais différentes technologies de DDD doivent être appliquées en fonction de la taille du projet. De manière générale, il est divisé en projets suivants.
Piloté par domaine, si cela dépend d'autres couches, cela dépend de l'interface de la couche correspondante plutôt que de l'implémentation.
Utilisez les modes référentiel et unité de travail, mais utilisez le mode référentiel fourni avec EF.
1. git clone ce projet 2. Configurez codeGenerate.json 3. Exécutez ce projet et après vous être connecté à swagger, exécutez l'interface codeGenerate 4. Exécutez add-migration 5. Démarrez le projet
Blog de la série de frameworks SnailAspNetCoreFramework
1. Introduction et idées générales de conception de chaque projet et répertoire dans le cadre - Cadre de développement rapide SnailAspNetCoreFramework
2. Vérification des entrées de l'interface, format de sortie et gestion des exceptions : conception back-end du cadre de développement rapide SnailAspNetCoreFramework
3. Conception d'autorisations universelles - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
4. Comment fournir de bons documents d'interface (Swagger) au front-end - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
5. Utilisation du cache dans divers scénarios : conception backend du cadre de développement rapide SnailAspNetCoreFramework
6. Conception AOP basée sur Castle et cache commun, performances, implémentation de l'intercepteur de journaux - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
7. Introduction à l'injection de dépendances - autofac - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
8. Pourquoi utiliser Eventbus et comment l'utiliser - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
9. Introduction à Nlog, le composant de journalisation - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
10.Introduction à Mediatr - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
11. Conception CRUD universelle pour les couches contrôleur, service et Dal – Conception backend du cadre de développement rapide SnailAspNetCoreFramework
12. Outil de mappage d'objets automapper - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
13. Comment surveiller les instructions SQL générées par EF - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
14. Introduction à plusieurs méthodes de déploiement de .net core - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
15. Signal de communication en temps réel - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
16. Comment utiliser d'abord le code ef pour itérer en continu la version de base de données du projet - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
17. Introduction à la fonction de génération automatique de code—Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
18. Comment vérifier si chaque fonction du projet est normale (HealthCheck) - Conception back-end du cadre de développement rapide SnailAspNetCoreFramework
19. Introduction à Hangfire pour les tâches planifiées – Conception backend du cadre de développement rapide SnailAspNetCoreFramework
20. Introduction générale au front-end – Conception frontale du cadre de développement rapide SnailAspNetCoreFramework
21. Plus besoin de mendier pour les interfaces back-end (utilisation de MOCK) - Conception frontale du cadre de développement rapide SnailAspNetCoreFramework
22. Contrôle des autorisations frontales - Conception frontale du cadre de développement rapide SnailAspNetCoreFramework
23. Comment éviter d'écrire à plusieurs reprises du code CRUD frontal (introduction et utilisation de divers composants SnailXXX dans le front-end) - Conception frontale du cadre de développement rapide SnailAspNetCoreFramework
24. Introduction à la demande de proxy - Conception frontale du cadre de développement rapide SnailAspNetCoreFramework