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