"يجوز للمستخدم فعل X هل المستخدم يمتلك الكائن Y": تنفيذ المنطق في التحقق من صحة النموذج أو منطق وحدة التحكم؟

StackOverflow https://stackoverflow.com/questions/9333916

  •  27-10-2019
  •  | 
  •  

سؤال

ضع في اعتبارك ، على سبيل المثال ، المنطق "لا يجوز للمستخدم تعديل أو حذف سوى التعليق الذي كتبه المستخدم".

ستكرر إجراءات وحدة التحكم الخاصة بي منطق التحقق مما إذا كان المستخدم المسجل الدخول حاليًا يمكنه التأثير على التعليق.مثال Genacodicetagpre

بالطبع ، يمكنني تجميع هذا المنطق في طريقة بحيث لا أنسخ / ألصق هذا المقتطف ؛ومع ذلك ، فإن إخراج هذا الرمز من وحدة التحكم ووضعه في ValidationAttribute يجعل عملي أصغر وأسهل في كتابة الاختبارات له.مثال Genacodicetagpre

هل التحقق من النموذج هو الأداة المناسبة لهذه الوظيفة؟أحب إخراج هذا القلق من عمل وحدة التحكم ؛ولكن في هذه الحالة ، قد يزيد الأمر تعقيدًا.هذا صحيح بشكل خاص عندما تفكر في أن هذا الإجراء جزء من واجهة برمجة تطبيقات RESTful ويحتاج إلى إرجاع رمز حالة HTTP مختلف بناءً على أخطاء التحقق من الصحة في ModelState.

هل توجد "أفضل الممارسات" في هذه الحالة؟

هل كانت مفيدة؟

المحلول

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

سأحصل على شيء على غرار: Genacodicetagpre

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top