نمط رسم خرائط البيانات

في هندسة البرمجيات ، يُعد نمط مُرَشِّح البيانات نمطًا معماريًا . وقد أطلق عليه مارتن فاولر هذا الاسم في كتابه الصادر عام 2003 بعنوان "أنماط هندسة تطبيقات المؤسسات" . [ 1 ] تتضمن واجهة الكائن المتوافق مع هذا النمط وظائف مثل الإنشاء والقراءة والتحديث والحذف، والتي تعمل على الكائنات التي تُمثل أنواع كيانات المجال في مخزن البيانات.

مُوَصِّل البيانات هو طبقة وصول إلى البيانات تُجري نقلًا ثنائي الاتجاه للبيانات بين مخزن بيانات دائم (غالبًا قاعدة بيانات علائقية ) وتمثيل بيانات في الذاكرة (طبقة المجال). يهدف هذا النمط إلى الحفاظ على استقلالية تمثيل البيانات في الذاكرة ومخزن البيانات الدائم عن بعضهما البعض وعن مُوَصِّل البيانات نفسه. يُفيد هذا عند الحاجة إلى نمذجة وتطبيق عمليات تجارية صارمة على البيانات في طبقة المجال التي لا تتوافق تمامًا مع مخزن البيانات الدائم. [ 2 ] تتكون الطبقة من مُوَصِّل واحد أو أكثر (أو كائنات وصول إلى البيانات )، تُجري عملية نقل البيانات. تختلف تطبيقات المُوَصِّلات في نطاقها. تتعامل المُوَصِّلات العامة مع أنواع عديدة من كيانات المجال، بينما تتعامل المُوَصِّلات المُخصصة مع نوع واحد أو عدد قليل منها.

التطبيقات

يمكن العثور على تطبيقات لهذا المفهوم في أطر عمل مختلفة للعديد من بيئات البرمجة.

جافا/.نت

Node.js / TypeScript

PHP

  • Atlas ORM (مُحدد البيانات، بوابة بيانات الجدول، مُنشئ الاستعلامات، وغلاف PDO) [ 3 ]
  • Doctrine2 Object Relational Mapper (ORM) وطبقة تجريد قاعدة البيانات [ 4 ]
  • Cycle ORM (PHP DataMapper ORM ومحرك نمذجة البيانات) [ 5 ]
  • CakePHP ORM (PHP DataMapper ORM، أداة إنشاء الاستعلامات، وغلاف PDO)

بيرل

بايثون

روبي

  • مكتبة DataMapper (في الواقع، طبقت هذه المكتبة نمط تصميم Active Record، وكان هدف خليفتها، DataMapper 2 (الآن ROM )، هو تطبيق نمط التصميم الذي سميت باسمه).

إكسير

انظر أيضاً

مراجع

  1. فاولر، مارتن (2003). أنماط هندسة تطبيقات المؤسسات . أديسون-ويسلي. ISBN 978-0-321-12742-6.
  2. "ما الفرق بين Active Record و Data Mapper؟ "
  3. "Atlas ORM Atlas" . 
  4. "Doctrine2 و ActiveRecord Doctrine2" . Doctrine2 . مؤرشف من الأصل بتاريخ 21-07-2013 . تم الاطلاع عليه بتاريخ 02-04-2013 . 
  5. "Cycle ORM Cycle" . GitHub . 
  6. "stack overflow DBIx" .