مبدأ المهمة الواحدة

من ويكيبيديا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث
UML GodObject к SRP.jpg

يستخدم مبدأ المهمة الواحدة (بالإنجليزية: Single-responsibility principle)‏ في البرمجة الكائنية ليوضح أن كل كائن يجب أن تكون له مهمة واحدة فقط، ويجب أن تكون تلك المهمة مغلفة بالكامل داخل الصنف وكل الخدمات التي يقدمها يجب أن تصب في نفس تلك المهمة.[1][2][3]

قُدم هذا المصطلح بواسطة روبرت مارتن (Robert C. Martin) في مقال يحمل نفس الاسم كجزء من مؤلَّفه "مبادئ التصميم الكائني". أصبح المصطلح شائعاً من خلال كتابه "تطوير البرمجيات على طريقة الأجايل - مبادئ ونماذج وممارسات". يصف مارتن هذا المبدأ على أنه مبني على مبدأ التماسك.

يعرِّف مارتن المهمة على أنها "سبب للتغيير" و يخلص في النهاية للقول أنه يجب أن يكون هنالك سبب واحد فقط لتغيير أي صنف أو تركيبة. على سبيل المثال، تخيل وجود تركيبة ما مسؤولة عن تنسيق وطباعة التقارير. هنالك سببان يمكن أن يدعوا لتغيير تركيبة كهذه. الأول هو تغير محتوى التقرير. أما الثاني فهو تغير نسق التقرير. هذان السببان ينبعان من منطلقين مختلفين تماماً، أحدهما جوهري أما الآخر فهو تجميلي. بحسب مبدأ المهمة الواحدة فإن هذين السببين يعتبران مهمتين مختلفتين، وبالتالي يجب أن يتواجدا في صنفين أو تركيبتين مختلفتين.

انظر أيضاً[عدل]

مراجع[عدل]

  1. ^ Martin, Robert C. (2003). Agile Software Development, Principles, Patterns, and Practices. Prentice Hall. صفحة 95. ISBN 978-0135974445. مؤرشف من الأصل في 10 مايو 2019. الوسيط |CitationClass= تم تجاهله (مساعدة)CS1 maint: ref=harv (link)
  2. ^ Page-Jones, Meilir (1988). The Practical Guide to Structured Systems Design. Yourdon Press Computing Series. صفحة 82. ISBN 978-8120314825. الوسيط |CitationClass= تم تجاهله (مساعدة)
  3. ^ DeMarco, Tom. (1979). Structured Analysis and System Specification. برنتيس هول  [لغات أخرى]. ISBN 0-13-854380-1. مؤرشف من الأصل في 16 ديسمبر 2019. الوسيط |CitationClass= تم تجاهله (مساعدة)



Computer.svg
هذه بذرة مقالة عن الحاسوب أو العاملين في هذا المجال، بحاجة للتوسيع. شارك في تحريرها.