git clone [email protected]:shengyu-kmust/SnailAspNetCoreFramework.git
git clone [email protected]:shengyu-kmust/Snail.git
cd SnailAspNetCoreFramework
dotnet build
Berikut ini adalah diagram demonstrasi berdasarkan versi v1.0
--ApplicationCore // Lapisan abstraksi inti mengadopsi mode arsitektur yang jelas dan tidak bergantung pada lapisan lain semuanya bergantung pada jenis perpustakaan ini dan bertanggung jawab atas definisi publik seperti antarmuka, konstanta, enumerasi, dto, entitas, dll.
----Const // Definisi konstanta, seperti konstanta konfigurasi, konstanta nama event
----Dtos // semua dtos
----Entitas // Semua entitas
----Enum // enumerasi
----IServices //Definisi abstrak dari lapisan Layanan
----Utilitas // Kelas bantuan
--Infrastruktur //Lapisan infrastruktur menyediakan layanan data untuk lapisan atas (seperti lapisan layanan dan lapisan aplikasi).
----Data/config // Konfigurasi api lancar kerangka entitas basis data
----EFValueConverter // Konversi antara tipe database entitasframework dan tipe clr, seperti konversi enumerasi
----Migrasi //Buat direktori untuk migrasi kode kerangka entitas terlebih dahulu
--Service // Lapisan layanan, digunakan untuk mengimplementasikan antarmuka layanan di ApplicationCore, lapisan utama untuk implementasi logika aplikasi
----Cache // Implementasi cache, yang nantinya akan dihapus dan diekstraksi ke proyek Snail.
----Interceptor //Interceptor diimplementasikan secara default
----BaseService.cs //Kelas dasar setiap layanan berisi metode umum setiap layanan, seperti CRUD
---- InitDatabaseService.cs // Bertanggung jawab untuk inisialisasi data database
----InterceptorService.cs //Kelas dasar interceptor
--Web // Bertanggung jawab atas semua pemrosesan terkait input dan output parameter antarmuka (seperti verifikasi parameter, reservasi format output, dll.)
----AutoFacModule // konfigurasi injeksi autofac
----AutoMapperProfiles // konfigurasi automapper
----ClientApp // Proyek ujung depan
------build // Direktori keluaran dihasilkan oleh kompilasi front-end
------mock // Tiruan bagian depan
------src // Kode inti front-end
----CodeGenerater //Modul T4 dan logika terkait untuk pembuatan kode
----ConfigureServicesExtensions // Ekstensi injeksi ServiceProvider untuk menghindari penulisannya di file startup
----Pengontrol //Pengontrol
----dokumen // Kumpulan dokumen
----Dto // Kelas dto hanya akan digunakan di lapisan web
---- Filter // menyaring
----Hub // pemberi sinyal
----Izin //Penerapan izin default
----staticFile // Digunakan untuk menyimpan file yang diunggah
DDD digunakan, tetapi teknologi DDD yang berbeda harus diterapkan sesuai dengan ukuran proyek. Secara umum, ini dibagi menjadi beberapa proyek berikut
Didorong oleh domain, jika bergantung pada lapisan lain, itu bergantung pada antarmuka lapisan yang bersangkutan, bukan pada implementasinya.
Gunakan mode repositori dan unit kerja, tetapi gunakan mode repositori yang disertakan dengan EF.
1. git clone proyek ini 2. Konfigurasikan codeGenerate.json 3. Jalankan proyek ini, dan setelah masuk dengan swagger, jalankan antarmuka codeGenerate 4. Jalankan add-migration 5. Mulai proyek
Blog Seri Kerangka Kerja SnailAspNetCoreFramework
1. Pengenalan dan ide desain umum dari setiap proyek dan direktori dalam kerangka kerja - kerangka pengembangan cepat SnailAspNetCoreFramework
2. Verifikasi masukan antarmuka, format keluaran, dan penanganan pengecualian—desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
3. Desain izin universal - desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
4. Bagaimana menyediakan dokumen antarmuka yang baik (Swagger) ke front-end - desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
5. Penggunaan cache dalam berbagai skenario—desain backend framework pengembangan cepat SnailAspNetCoreFramework
6. Desain AOP berbasis kastil dan cache umum, kinerja, implementasi pencegat log - desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
7. Pengantar injeksi ketergantungan - autofac - desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
8. Mengapa menggunakan Eventbus dan bagaimana menggunakannya - desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
9. Pengenalan Nlog, komponen log - desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
10. Pengenalan mediar - desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
11. Desain CRUD universal untuk lapisan pengontrol, layanan, dan dal—desain backend kerangka kerja pengembangan cepat SnailAspNetCoreFramework
12. Alat pemetaan objek automapper - desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
13. Cara memantau pernyataan sql yang dihasilkan oleh EF - desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
14. Pengenalan beberapa metode penerapan .net core - desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
15. pemberi sinyal komunikasi real-time - desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
16. Cara menggunakan kode ef terlebih dahulu untuk terus mengulangi versi database proyek - desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
17. Pengenalan fungsi pembuatan kode otomatis—desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
18. Cara memantau apakah setiap fungsi proyek normal (HealthCheck) - Desain back-end kerangka pengembangan cepat SnailAspNetCoreFramework
19. Pengenalan hangfire untuk tugas terjadwal—Desain backend kerangka kerja pengembangan cepat SnailAspNetCoreFramework
20. Pengenalan menyeluruh terhadap front-end—desain front-end kerangka pengembangan cepat SnailAspNetCoreFramework
21. Tidak perlu lagi meminta antarmuka back-end (penggunaan MOCK) - SnailAspNetCoreFramework desain front-end kerangka pengembangan cepat
22. Kontrol izin front-end - desain front-end kerangka pengembangan cepat SnailAspNetCoreFramework
23. Bagaimana menghindari penulisan berulang kali kode CRUD front-end (pengenalan dan penggunaan berbagai komponen SnailXXX di front-end) - SnailAspNetCoreFramework desain front-end kerangka pengembangan cepat
24. Pengantar proxy permintaan - desain front-end kerangka pengembangan cepat SnailAspNetCoreFramework