إدارة المعاملات إما في طبقة الخدمة أو طبقة المستودع؟
-
20-09-2019 - |
سؤال
لديّ سيناريو معين حيث تتم الإدراج والتحديثات على جداول متعددة استنادًا إلى بعض القيود .. لذلك من الطبيعي استخدام نطاق المعاملات لهذه السيناريوهات. طبقة الخدمة تتوسط المستودع وواجهة المستخدم وهي جاهل مستمر. الآن أنا في حيرة من أمري حيث أستخدم المعاملات إما في الخدمة أو في طبقات المستودع. أنا لا أستخدم أي ORMS. لقد رأيت أيضًا أشخاصًا يدافعون عن نمط وحدة العمل لمثل هذه السيناريوهات. هل هناك أي أمثلة حول نمط وحدة العمل التي تناسب السيناريوهات الحالية الخاصة بي ، كل الأمثلة التي رأيتها تستخدم ORMS.
شكرًا،
المحلول
سيعتمد هذا على نظامك بالطبع ، لكن عادةً ما سأفعل ذلك في طبقة الخدمة. خاصة إذا كانت أساليب طبقة الخدمة الخاصة بك تسمي أساليب مستودع متعددة الحبيبات الدقيقة وتتوقع منهم إما الالتزام أو جميع التراجع.
نصائح أخرى
بعض الأسئلة التي قد تساعد في الإجابة على هذا.
أي طبقة تتفهم متطلبات المعاملات؟ ما هي تفاصيل واجهة المستودع الخاص بك؟
في عالمي ، نميل إلى الحصول على عمليات استمرار دقيقة ، إدراج ، تحديث ، حذف. ثم تأليفها في طبقة الخدمة. ومن هنا في هذه البيئة ، يبدو لي أن طبقة الخدمة هي التي تتفهم نطاق المعاملات.