git clone [email protected]:shengyu-kmust/SnailAspNetCoreFramework.git
git clone [email protected]:shengyu-kmust/Snail.git
cd SnailAspNetCoreFramework
dotnet build
فيما يلي رسم تخطيطي توضيحي يعتمد على الإصدار v1.0
--ApplicationCore // تتبنى طبقة التجريد الأساسية وضعًا معماريًا واضحًا ولا تعتمد على طبقات أخرى. تعتمد المشاريع الثلاثة الأخرى جميعها على هذا النوع من المكتبات وتكون مسؤولة عن التعريفات العامة للواجهات والثوابت والتعدادات وdtos والكيانات وما إلى ذلك. .
----Const // تعريف ثابت، مثل ثوابت التكوين وثوابت اسم الحدث
----Dtos // جميع dtos
----الكيانات // جميع الكيانات
----التعدادات // التعداد
----IServices // تعريف مجرد لطبقة الخدمة
---- المرافق // فئة المساعدة
--البنية التحتية // توفر طبقة البنية التحتية خدمات البيانات للطبقات العليا (مثل طبقة الخدمة وطبقة التطبيق).
----Data/config // تكوين واجهة برمجة تطبيقات كيان قاعدة البيانات بطلاقة
----EFValueConverter // التحويل بين نوع قاعدة بيانات الكيان ونوع clr، مثل تحويل التعداد
----الترحيل // أنشئ دليلًا لترحيل كود إطار عمل الكيان أولاً
--Service // طبقة الخدمة، المستخدمة لتنفيذ واجهة الخدمة في ApplicationCore، الطبقة الرئيسية لتنفيذ منطق التطبيق
----Cache // تنفيذ ذاكرة التخزين المؤقت، والتي ستتم إزالتها واستخراجها إلى مشروع Snail لاحقًا.
----Interceptor // يتم تنفيذ Interceptor افتراضيًا
----BaseService.cs // تحتوي الفئة الأساسية لكل خدمة على الطرق الشائعة لكل خدمة، مثل CRUD
----InitDatabaseService.cs // المسؤول عن تهيئة بيانات قاعدة البيانات
----InterceptorService.cs // الفئة الأساسية للمعترض
--الويب // مسؤول عن جميع عمليات المعالجة ذات الصلة لمدخلات ومخرجات معلمات الواجهة (مثل التحقق من المعلمات وحجز تنسيق الإخراج وما إلى ذلك)
----AutoFacModule // تكوين حقن autofac
----AutoMapperProfiles // تكوين automapper
----ClientApp // مشروع الواجهة الأمامية
------build // دليل الإخراج الذي تم إنشاؤه بواسطة تجميع الواجهة الأمامية
------ وهمية // وهمية للواجهة الأمامية
------src // الكود الأساسي للواجهة الأمامية
----CodeGenerater //وحدة T4 والمنطق ذي الصلة لإنشاء التعليمات البرمجية
----ConfigureServicesExtensions // ملحقات حقن ServiceProvider لتجنب كتابتها في ملف بدء التشغيل
---- وحدات التحكم // وحدات التحكم
----المستندات // مجموعة المستندات
----Dto // سيتم استخدام فئة dto فقط في طبقة الويب
---- مرشح // مرشح
----محاور // إشارة
----إذن // التنفيذ الافتراضي للأذونات
----staticFile // يستخدم لتخزين الملفات التي تم تحميلها
يتم استخدام DDD، ولكن يجب تطبيق تقنيات DDD المختلفة وفقًا لحجم المشروع. بشكل عام، يتم تقسيمها إلى المشاريع التالية
يعتمد المجال، إذا كان يعتمد على طبقات أخرى، فإنه يعتمد على واجهة الطبقة المقابلة بدلاً من التنفيذ.
استخدم وضعي المستودع ووحدة العمل، ولكن استخدم وضع المستودع الذي يأتي مع EF.
1. git clone هذا المشروع 2. تكوين codeGenerate.json 3. قم بتشغيل هذا المشروع، وبعد تسجيل الدخول للتباهي، قم بتشغيل واجهة codeGenerate 4. قم بتشغيل add-migration 5. ابدأ المشروع
مدونة سلسلة SnailAspNetCoreFramework Framework
1. مقدمة وأفكار تصميم عامة لكل مشروع ودليل ضمن إطار العمل - إطار التطوير السريع SnailAspNetCoreFramework
2. التحقق من إدخال الواجهة وتنسيق الإخراج ومعالجة الاستثناءات - تصميم الواجهة الخلفية لإطار التطوير السريع لـ SnailAspNetCoreFramework
3. تصميم الأذونات العالمية - تصميم الواجهة الخلفية لإطار التطوير السريع SnailAspNetCoreFramework
4. كيفية توفير مستندات واجهة جيدة (Swagger) للواجهة الأمامية - تصميم الواجهة الخلفية لإطار التطوير السريع SnailAspNetCoreFramework
5. استخدام ذاكرة التخزين المؤقت في سيناريوهات مختلفة — تصميم الواجهة الخلفية لإطار عمل التطوير السريع SnailAspNetCoreFramework
6. تصميم AOP القائم على القلعة وذاكرة التخزين المؤقت المشتركة والأداء وتنفيذ اعتراض السجل - تصميم الواجهة الخلفية لإطار التطوير السريع لـ SnailAspNetCoreFramework
7. مقدمة إلى حقن التبعية - autofac - تصميم الواجهة الخلفية لإطار التطوير السريع SnailAspNetCoreFramework
8. لماذا نستخدم Eventbus وكيفية استخدامه - التصميم الخلفي لإطار التطوير السريع SnailAspNetCoreFramework
9. مقدمة إلى Nlog، مكون السجل - تصميم الواجهة الخلفية لإطار التطوير السريع SnailAspNetCoreFramework
10.مقدمة Mediatr - تصميم الواجهة الخلفية لإطار التطوير السريع SnailAspNetCoreFramework
11. تصميم CRUD العالمي لطبقات وحدة التحكم والخدمة وdal — تصميم الواجهة الخلفية لإطار التطوير السريع SnailAspNetCoreFramework
12. أداة رسم خرائط الكائنات automapper - SnailAspNetCoreFramework إطار التطوير السريع للتصميم الخلفي
13. كيفية مراقبة بيانات SQL التي تم إنشاؤها بواسطة EF - التصميم الخلفي لإطار التطوير السريع لإطار عمل SnailAspNetCoreFramework
14. مقدمة إلى العديد من طرق النشر لـ .net core - التصميم الخلفي لإطار التطوير السريع SnailAspNetCoreFramework
15. إشارة الاتصال في الوقت الحقيقي - تصميم الواجهة الخلفية لإطار التطوير السريع SnailAspNetCoreFramework
16. كيفية استخدام كود ef أولاً للتكرار المستمر لإصدار قاعدة بيانات المشروع - تصميم الواجهة الخلفية لإطار التطوير السريع SnailAspNetCoreFramework
17. مقدمة إلى وظيفة إنشاء التعليمات البرمجية التلقائية — تصميم الواجهة الخلفية لإطار التطوير السريع SnailAspNetCoreFramework
18. كيفية مراقبة ما إذا كانت كل وظيفة في المشروع طبيعية (HealthCheck) - التصميم الخلفي لإطار التطوير السريع لإطار عمل SnailAspNetCoreFramework
19. مقدمة إلى Hangfire للمهام المجدولة — تصميم الواجهة الخلفية لإطار التطوير السريع SnailAspNetCoreFramework
20. مقدمة شاملة للواجهة الأمامية - تصميم الواجهة الأمامية لإطار التطوير السريع لـ SnailAspNetCoreFramework
21. لا مزيد من التسول للواجهات الخلفية (استخدام MOCK) - تصميم الواجهة الأمامية لإطار التطوير السريع لـ SnailAspNetCoreFramework
22. التحكم في أذونات الواجهة الأمامية - تصميم الواجهة الأمامية لإطار التطوير السريع SnailAspNetCoreFramework
23. كيفية تجنب كتابة كود CRUD للواجهة الأمامية بشكل متكرر (مقدمة واستخدام مكونات SnailXXX المختلفة في الواجهة الأمامية) - تصميم الواجهة الأمامية لإطار التطوير السريع لـ SnailAspNetCoreFramework
24. مقدمة لطلب الوكيل - تصميم الواجهة الأمامية لإطار التطوير السريع SnailAspNetCoreFramework