سؤال

عادةً ما أكتب حالات الاستخدام لجميع البرامج التي أقوم بتطويرها. لكل حالة استخدام ، أكتب عمومًا وحدة تحكم توجه التدفق (تنفذ حالة الاستخدام).

لقد بدأت مؤخرًا تطوير تطبيقات الويب باستخدام ASP.NET MVC. واحدة من أفضل الممارسات ASP.NET MVC هي الحفاظ على منطق أقل في وحدات التحكم. أنا غير قادر على معرفة كيف سأغير تصميمي لتعكس هذا.

أريد بشكل أساسي طريقة لتغليف حالات الاستخدام الخاصة بي.

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

المحلول 3

إنشاء مكون عمل لتغليف حالات الاستخدام. على سبيل المثال ، إذا كان لديك نظام إدارة إجازة ، فستستخدم حالات مثل التقدم بطلب للحصول على إجازة ، أو الموافقة على طلب الإجازة ، وترفض طلب الإجازة ، وما إلى ذلك ، يمكنك إنشاء مكون أعمال (فئة) يسمى Leave Manager مع الأساليب (وظائف /العمليات) مثل "تطبيق" ، "موافقة" ، "رفض" ، وما إلى ذلك. هذه الطرق سوف تغلف حالات الاستخدام الخاصة بك. ستأخذ هذه الطرق كيانات عملك وفئات تخزين البيانات كمدخلات وتنفيذ حالة الاستخدام.

class LeaveManager{
     int Apply(from, to);

     bool Approve(leaveApplicationId, approverId);

     bool Reject(leaveApplicationId, approverId);
}

يمكنك بعد ذلك استخدام مكون العمل هذا في وحدات التحكم الخاصة بك لتنفيذ حالة الاستخدام من خلال توفير المعلمات المطلوبة.

نصائح أخرى

أعتقد أن وجود نموذج دهون ووحدة تحكم نحيفة هو عمومًا ممارسة جيدة في أي لغة وليس على وجه التحديد .NET MVC. تحقق من هذا لطيف مقالة - سلعة يمر ذلك من خلال سيناريو عينة توضح مزايا وضع الدهون في Ruby on Rails (لكن الأفكار تنطبق على أي لغة).

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

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

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