در توسعه نرم افزار، ایجاد کلاس هایی که بسیار منسجم هستند برای ساخت برنامه های قابل نگهداری و مقیاس پذیر ضروری است، اصل مسئولیت تک (SRP) یک دستورالعمل اساسی است که به توسعه دهندگان کمک می کند تا به این هدف برسند.این نشان می دهد که یک کلاس باید تنها یک دلیل برای تغییر داشته باشد، به این معنی که باید بر یک مسئولیت یا هدف واحد تمرکز کند.

درک اصل مسئولیت تک

SRP یکی از پنج اصول SOLID طراحی شی گرا است.این توسعه دهندگان را تشویق می کند تا کلاس هایی را طراحی کنند که به طور محدود متمرکز هستند، زمانی که یک کلاس مسئولیت های متعدد دارد، تغییرات در یک منطقه می تواند به طور ناخواسته بر سایر بخش های سیستم تاثیر بگذارد، که منجر به اشکالات و پیچیدگی بیشتر می شود.

مزایای کلاس های بسیار Cohessive

  • از نگهداری: تغییرات محلی هستند، کاهش خطر شکستن عملکرد غیر مرتبط.
  • بهبود خوانایی: مسئولیت های کلاس روشن کد را آسان تر می کند.
  • قابلیت استفاده مجدد: کلاس های متمرکز می توانند در بخش های مختلف برنامه استفاده شوند.
  • تست بهتر: مسئولیت های جداگانه تست واحد و اشکال زدایی را ساده تر می کند.

استراتژی های طراحی کلاس های Cohesive

برای ایجاد کلاس هایی که به SRP پایبند هستند، استراتژی های زیر را در نظر بگیرید:

  • [در این باره]: [مشرکان] به طور واضح مشخص می کند که هر کلاس قبل از اجرای چه مسئولیتی دارد.
  • از نام های معنی دار استفاده کنید؛ کلاس های نام بر اساس مسئولیت اولیه خود برای افزایش وضوح.
  • [در این میان]، [از روی زمین های پیچیده] بپرهیز؛ [[۱]] [۱] [۱] [۱] [۱] [۱] [۱]] [۲] [۵] [۳] [۳] [۱] [۵] [۳] [۵] [۳] [۳] [۱] [۲] [۳] [۵] [۲] [۵] [۳] [۳] [۳] [۵] [۵] [۳] [۵] [۳] [۳] [۵] [۵] [۳] [۵] [۵] [۳] [۵] [۳] [۳] [۵] [۵] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۵] [۵] [۳] [۳
  • الگوهای طراحی کاربردی: [FLT 1] از الگوهایی مانند کارخانه، استراتژی یا ناظر برای ترویج مسئولیت های تک استفاده کنید.

مثال عملی

فرض کنید شما در حال توسعه یک برنامه هستید که حساب های کاربری را مدیریت می کند و ایمیل های اطلاع رسانی را به جای ایجاد یک کلاس تکlithic که هر دو وظایف را مدیریت می کند، آنها را جدا می کند:

کلاس 1: کاربرAccountManager - مسئول مدیریت داده ها و تأیید هویت کاربر.

کلاس 2: ایمیل نایفتر - مسئول ساخت و ارسال ایمیل.

این جدایی تضمین می کند که هر کلاس دارای یک مسئولیت واحد است و سیستم را برای حفظ و گسترش آسان تر می کند.