git clone [email protected]:shengyu-kmust/SnailAspNetCoreFramework.git
git clone [email protected]:shengyu-kmust/Snail.git
cd SnailAspNetCoreFramework
dotnet build
Das Folgende ist ein Demonstrationsdiagramm basierend auf der Version v1.0
--ApplicationCore // Die Kernabstraktionsschicht übernimmt den klaren Architekturmodus und ist nicht von anderen Schichten abhängig. Die anderen drei Projekte basieren alle auf dieser Art von Bibliothek und sind für öffentliche Definitionen wie Schnittstellen, Konstanten, Aufzählungen, DTO, Entitäten usw. verantwortlich. usw.
----Const // Konstantendefinition, z. B. Konfigurationskonstanten, Ereignisnamenkonstanten
----Dtos // alle Dtos
----Entities // Alle Entitäten
----Enums // Aufzählung
----IServices //Abstrakte Definition der Serviceschicht
----Dienstprogramme // Hilfeklasse
--Infrastructure // Die Infrastrukturschicht stellt Datendienste für die oberen Schichten bereit (z. B. Serviceschicht und Anwendungsschicht).
----Data/config // Fluent-API-Konfiguration des Datenbank-EntityFrameworks
----EFValueConverter // Konvertierung zwischen Entityframework-Datenbanktyp und Clr-Typ, z. B. Aufzählungskonvertierung
----Migrations //Erstellen Sie zuerst ein Verzeichnis für die Migration des EntityFramework-Codes
--Service // Serviceschicht, wird zur Implementierung der Serviceschnittstelle in ApplicationCore verwendet, der Hauptschicht für die Implementierung der Anwendungslogik
----Cache // Cache-Implementierung, die später entfernt und in das Snail-Projekt extrahiert wird.
----Interceptor //Interceptor standardmäßig implementiert
----BaseService.cs // Die Basisklasse jedes Dienstes enthält die gemeinsamen Methoden jedes Dienstes, z. B. CRUD
----InitDatabaseService.cs // Verantwortlich für die Initialisierung der Datenbankdaten
----InterceptorService.cs //Interceptor-Basisklasse
--Web // Verantwortlich für die gesamte Verarbeitung der Eingabe und Ausgabe von Schnittstellenparametern (z. B. Parameterüberprüfung, Reservierung des Ausgabeformats usw.)
----AutoFacModule // Autofac-Injection-Konfiguration
----AutoMapperProfiles // Automapper-Konfiguration
----ClientApp // Frontend-Projekt
------build // Ausgabeverzeichnis, das durch die Front-End-Kompilierung generiert wird
------mock // Front-End-Mock
------src // Front-End-Kerncode
----CodeGenerater //T4-Modul und zugehörige Logik zur Codegenerierung
----ConfigureServicesExtensions // ServiceProvider-Injection-Erweiterungen, um zu vermeiden, dass sie in die Startdatei geschrieben werden
----Controller //Controller
----docs // Dokumentensatz
----Dto // Die DTO-Klasse wird nur in der Webebene verwendet
----Filter // filtern
----Hubs // signalr
----Permission //Standardimplementierung von Berechtigungen
----staticFile // Wird zum Speichern hochgeladener Dateien verwendet
DDD wird verwendet, es müssen jedoch je nach Größe des Projekts unterschiedliche DDD-Technologien angewendet werden. Im Allgemeinen ist es in die folgenden Projekte unterteilt
Domänengesteuert: Wenn es von anderen Schichten abhängt, hängt es von der Schnittstelle der entsprechenden Schicht und nicht von der Implementierung ab.
Verwenden Sie die Modi „Repository“ und „Unit of Work“, aber verwenden Sie den mit EF gelieferten Repository-Modus.
1. git clone dieses Projekt 2. Konfigurieren Sie codeGenerate.json 3. Führen Sie dieses Projekt aus und führen Sie nach der Anmeldung bei swagger die codeGenerate-Schnittstelle aus 4. Führen Sie add-migration aus 5. Starten Sie das Projekt
SnailAspNetCoreFramework Framework Series Blog
1. Einführung und allgemeine Designideen für jedes Projekt und Verzeichnis innerhalb des Frameworks – SnailAspNetCoreFramework-Rapid-Development-Framework
2. Überprüfung der Schnittstelleneingabe, Ausgabeformat und Ausnahmebehandlung – Back-End-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks
3. Universelles Berechtigungsdesign - Back-End-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks
4. So stellen Sie gute Schnittstellendokumente (Swagger) für das Front-End bereit – SnailAspNetCoreFramework-Back-End-Design für das Rapid Development Framework
5. Cache-Nutzung in verschiedenen Szenarien – Backend-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks
6. Castle-basiertes AOP-Design und gemeinsamer Cache, Leistung, Log-Interceptor-Implementierung – SnailAspNetCoreFramework-Back-End-Design für das Rapid Development Framework
7. Einführung in die Abhängigkeitsinjektion – Autofac – Back-End-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks
8. Warum Eventbus verwenden und wie man es verwendet - Back-End-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks
9. Einführung in Nlog, die Protokollkomponente – SnailAspNetCoreFramework-Back-End-Design für das Rapid Development Framework
10.Mediatr-Einführung - SnailAspNetCoreFramework-Back-End-Design für das Rapid Development Framework
11. Universelles CRUD-Design für Controller-, Service- und Dal-Schichten – Backend-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks
12. Objektzuordnungstool Automapper - SnailAspNetCoreFramework-Back-End-Design für das Rapid Development Framework
13. So überwachen Sie die von EF generierten SQL-Anweisungen – Back-End-Design des SnailAspNetCoreFramework Rapid Development Framework
14. Einführung in verschiedene Bereitstellungsmethoden von .net Core – SnailAspNetCoreFramework-Back-End-Design für das Rapid Development Framework
15. Echtzeit-Kommunikationssignal - SnailAspNetCoreFramework-Back-End-Design für ein schnelles Entwicklungsframework
16. So verwenden Sie zuerst EF-Code, um die Datenbankversion des Projekts kontinuierlich zu iterieren – SnailAspNetCoreFramework-Back-End-Design für das Rapid Development Framework
17. Einführung in die automatische Codegenerierungsfunktion – SnailAspNetCoreFramework Rapid Development Framework Back-End-Design
18. So überwachen Sie, ob jede Funktion des Projekts normal ist (HealthCheck) - Back-End-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks
19. Einführung in Hangfire für geplante Aufgaben – Backend-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks
20. Allgemeine Einführung in das Front-End – Front-End-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks
21. Kein Betteln mehr um Back-End-Schnittstellen (Verwendung von MOCK) – Front-End-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks
22. Front-End-Berechtigungskontrolle – Front-End-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks
23. So vermeiden Sie das wiederholte Schreiben von Front-End-CRUD-Code (Einführung und Verwendung verschiedener SnailXXX-Komponenten im Front-End) - Front-End-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks
24. Einführung in den Anforderungs-Proxy – Front-End-Design des SnailAspNetCoreFramework-Rapid-Development-Frameworks