هندسة البرمجيات

التعرف على نمط التصميم Repository pattern

مقدمة إلى نمط التصميم Repository pattern

 

مقدمة

بالتأكيد انت تعاملت أو تتعامل حالياً مع احد التطبيقات التي تتصل بقواعد البيانات أو اي مصدر بيانات آخر. وقد واجهت العديد من التحديات وربما بحثت عن افضل طريقة لتنظيم آلية لادارة البيانات.

في الحقيقة يوجد العديد من المنهجيات التي يمكن اتباعها لإنشاء طبقة اتصال بالبيانات بشكل هندسي صحيح.

 

سنقدم في هذه المقالة بشكل مبسط، احد هذه المنهجيات وهو نمط التصميم Repository Pattern

يعد نمط التصميم هذا، من افضل الانماط في التطبيقات التي تتعامل مع قواعد البيانات، فهو يؤمن طبقة مفصولة عن باقي أقسام المشروع، بحيث تصبح عملية تطوير وصيانة المشاريع اكثر سهولة.

فيما يلي نستعرض تطبيق مبسّط، حيث سنقوم بإنشاء تطبيق صغير يقوم بعرض بيانات الموظفين مع امكانية الاضافة والتعديل.


تكمن الفكرة، بأننا سنقوم بفصل طبقة التعامل مع قاعدة البيانات إلى طبقة منفصلة، واكثر من ذلك سنقوم بتجريد هذه الطبقة (سيتم ذكر التجريد بشكل مفصل بالاسفل)، بحيث يمكن استخدام اكثر من مزود بيانات بنفس الوقت، بمعنى يمكن لتطبيقنا ان يقوم بتخزين وادارة البيانات ضمن SQL Server، او Access Database او ضمن ملفات XML أو ضمن ذاكرة الحاسوب، أو أي نوع اخر من التقنيات تخزين البيانات،سنكتفي في هذا المثال باستخدام SQL Database و In Memory Collection.

ما هو التجريد؟

سنقوم بتجريد الدوال الخاصة بالتعامل مع قاعدة البيانات ضمن Interface بالتالي جميع أقسام المشروع ستتعامل مع Interface فقط، اي لا يهم مزود البيانات الفعلي والخوارزميات المطلوبة لتنفيذ مختلف الاستعلامات، وكمحصلة لذلك، تخف الارتباطية بين مكونات التطبيق، وتزداد درجة السيطرة عليه.

مثال عملي

المتطلبات:

لتطبيق المثال نحتاج إلى نسخة فيجوال ستوديو 2017 او 2019.

مخدم قواعد بيانات SQL

الخطوات:

يرجى اتباع الخطوات التالية، لتشغيل المثال على جهازك:

  1. قم بتنزيل ملفات المشروع من GitHub على الرابط
  2. قم بتعديل نص الاتصال ضمن ملف App.Config واستبدل القيمة YOUR_SERVER_NAME باسم مخدم قاعدة البيانات لديك مثال (localhost- .\\SqlExpress) او أي مخدم لديك
  3. قم بتشغيل المشروع، سيتم إنشاء قاعدة بيانات ضمن SQL لديك، باسم RepositoryPatternDb
  4. قم بتنفيذ استعلام ادخال البيانات من ملف data.sql لاضافة بيانات تجريبية إلى قاعدة البيانات، الملف موجود ضمن المجلد Data ضمن ملفات المشروع.
  5. قم بتشغيل المشروع مرة اخرى لمشاهدة البيانات.

 

هاشتاغ


اترك تعليقاً

Tarek Jihad

Author
粉嫩公主酒酿蛋通过现代科技改良,创新加入了泰国丰胸圣品野葛根提取物丰胸产品,利用国家冻干技术,最大程度的保留了其食物的活性,只针对女性胸部发育研究丰胸方法,效果较之传统酒酿蛋好三倍不止。粉嫩公主酒酿蛋的配方用料都是经过机构的安全检测认定,有官方给出的证明丰胸食物,丰胸效果更有保障。长期服用粉嫩公主酒酿蛋不会有任何副作用,而且可以平衡女性身体激素,对于改善女性皮肤状态丰胸酒酿蛋,紧致肌肤,提升女性雌性激素都有一定的帮助。