صالح السوفي نشر 8 مايو 2020 أرسل تقرير نشر 8 مايو 2020 السلام عليكم من خلال سؤال طرحته ساباقا تبين لي انه من الافضل ان نستخدم كلاس موحد لجميع كلاسات اتصال قواعد البيانات سؤالي هل هناك نموذج لأخذ منه فكره؟ اقتباس
1 طارق جهاد نشر 9 مايو 2020 أرسل تقرير نشر 9 مايو 2020 وعليكم السلام ورحمة الله. تختلف العملية بحسب حجم المشروع، وبحسب التقنية التي تعمل عليها. ولكن أضعف الإيمان هي استخدام كلاس واحد، ولكن دعني اوضح بعض النقاط، لتطوير طبقة الاتصال بقاعدة البيانات بالشكل الأفضل. 1. نقوم بتعريف الدوال (الميثودز) الخاصة بالقراءة والكتابة على قاعدة البيانات ضمن Interface وليكن اسمه IDataRepository 2. نقوم بإنشاء كلاس، بحيث يرث من الـ Interface السابق، الآن تصبح لدينا تطبيق هذا الـ Interface او بمعنى اخر كتابة الكود الخاص بالاتصال بقاعدة البيانات. 3. نقوم بتسمية الكلاس بإسم يوافق اسم التقنية او قاعدة البيانات التي نعمل عليها، لنفترض اننا نتعامل مع MySQL فيكون اسم الكلاس بالشكل التالي IMySqlRepository 4. ضمن اقسام التطبيق لا نتعامل مع الكلاس مباشرة، بل نتعامل مع الـ Interface، بحيث يكون التطبيق لدينا بمعزل عن التقنية المستخدمة للتعامل مع قاعدة البيانات، بالتالي مستقبلا يمكن استبدال تقنية MySQL ب SQL Server، عندها نقوم بإنشاء كلاس جديد ISqlRepository، أو قد نتعامل مع ملفات XML فنقوم بإنشاء كلاس جديد ايضا IXMLRepository، دون اي تعديل على باقي اقسام التطبيق. وكنصيحة أخيرة، انصحك بإنشاء أكثر من Repository بمعنى كل قسم ضمن مشروعك يجب أن يكون له Interface وكلاس خاص به. على سبيل المثال، لو فرضنا انك تقوم بتطوير تطبيق مشتريات عبر الانترنت. فيمكنك عندها: 1. إنشاء طبقة بيانات خاصة بقراءة المنتجات والبحث فيها (IProductRepository) 2. إنشاء طبقة بيانات خاصة بالطلبات وسلة الشراء (IOrderRepository) 3. إنشاء طبقة بيانات خاصة بالإدارة (IAdminRepository) طبعاً يمكنك إنشاء الطبقات بحسب حجم المشروع واقسامه، ولكن الفكرة هي بتقسيم المشروع إلى أقسام صغيرة قدر الإمكان، بحيث تسهل عملية التطوير أولاً، ويصبح بالإمكان التعديل على الجزئيات دون أن تتأثر باقي أقسام المشروع. سأرفق مثالاً عملياً بلغة سي شارب وقواعد بيانات SQL لاحقاً إن شاء الله بالتوفيق... 1 اقتباس
السؤال
صالح السوفي
السلام عليكم
من خلال سؤال طرحته ساباقا تبين لي انه من الافضل ان نستخدم كلاس موحد لجميع كلاسات اتصال قواعد البيانات
سؤالي هل هناك نموذج لأخذ منه فكره؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.