متین تلخابی
متین تلخابی
خواندن ۲ دقیقه·۴ ماه پیش

اصول SOLID

توی این پست به صورت کلی به اصول SOLID می پردازیم



در اصل SOLID یک کلمه مخفف شده برای 5 اصله
هدف این نوع اصول اینه که برنامه هایی که می نویسیم قابل درک تر، انعطاف پذیرتر و بیشتر قابل نگهداری باشن.
به عنوان یه توسعه دهنده و برنامه نویس حتما باید این اصول رو بلد باشید
همونطور که همون اول گفتم SOLID بر پایه پنج اصل زیر هست برای هر کدوم اول یه توضیح کلی میدم برای یادگیری بیشتر می تونید به پست زیرش برید

  • اصل تک مسئولیتی (Single Responsibility Principle)
    هر کلاسی که توی برنامه ما وجود داره باید یه مسئولیت خاص داشته باشه
https://virgool.io/@KMmatin/%D8%A7%D8%B5%D9%84-%D8%AA%DA%A9-%D9%85%D8%B3%D8%A6%D9%88%D9%84%DB%8C%D8%AA%DB%8C-single-responsibility-principle-xjlgiuf6tqkv
  • اصل باز - بسته (Open/Closed Principle)
    موجودیت های یک نرم افزار (کلاس ها ، ماژول ها ، توابع و...) باید برای توسعه داده شدن باز برای تغییر داده شدن بسته باشن
https://virgool.io/@KMmatin/%D8%A7%D8%B5%D9%84-%D8%A8%D8%A7%D8%B2-%D8%A8%D8%B3%D8%AA%D9%87-openclosed-principle-fnxr0essib8j
  • اصل جایگزینی لیسکوف (Liskov Substitution Principle)
    برنامه باید طوری باشه که زیر کلاس بتونه به صورت کامل با کلاس پایه جایگزین بشه بدون اینکه تغییری توی کد لازم باشه ایجاد کنیم
https://virgool.io/@KMmatin/%D8%A7%D8%B5%D9%84-%D8%AC%D8%A7%DB%8C%DA%AF%D8%B2%DB%8C%D9%86%DB%8C-liskov-substitution-%D8%B3%D8%B1%DB%8C-%D8%A7%D8%B5%D9%88%D9%84-solid-evgxuawvaw9l
  • اصل جداسازی اینترفیس‌ها (Interface Segregation Principle)
    کلاس ها نباید مجبور باشن متد هایی که احتیاج ندارن رو پیاده سازی کنن
https://virgool.io/@KMmatin/%D8%A7%D8%B5%D9%84-%D8%AC%D8%AF%D8%A7%D8%B3%D8%A7%D8%B2%DB%8C-interface-segregation-principle-qtzoqp4ryydc
  • اصل وارونگی وابستگی (Dependency Inversion Principle)
    کلاس های سطح بالا نباید به کلاس های سطح پایین وابستگی داشته باشه
https://virgool.io/@KMmatin/%D8%A7%D8%B5%D9%84-%D9%88%D8%A7%D8%B1%D9%88%D9%86%DA%AF%DB%8C-%D9%88%D8%A7%D8%A8%D8%B3%D8%AA%DA%AF%DB%8C-dependency-inversion-principle-ufxksjxyeciv




  1. اکثر الگوهای طراحی که وجود دارن تلاش می کنن اصول سالید رو پیاده سازی کنن مخصوصا اصول اول و دوم
  2. برنامه های خیلی کمی وجود دارن که همه پنج اصل رو همزمان پیاده سازی کرده باشن برای همین نمی خواد به خودتون سخت بگیرید
  3. هر اصلی رو که می خوایید پیاده کنید حواستون باشه یه وقت برای درست کردن ابرو چشم برنامه رو کور نکنید
  4. حواستون باشه اصول SOLID برای شرکت ها به شدت مهمه و توی مصاحبه ها حتما ازش سوال میشه



امیدوارم این مباحث کمکتون کرده باشه

اگه خودت نکته ای رو میشناسی که من اشاره نکردم توی کامنت بگو
امیدوارم این پست به دردتون خورده باشه
موفق و پیروز باشید ...

ان شاء الله راهی که میریم ختم بشه به ظهور سریعتر آقا امام زمان...

یکی از منابعی که خیلی توی نوشتن این سری پست ها کمکم کرد سایت ditty بود اگه سوالی توی زمنیه JavaScript داشتید حتما از این سایت استفاده کنید

اصول solidمصاحبهاصول برنامه نویسیالگو های طراحی نرم افزارdesign patterns
برنامه‌نویس Back End مسلط به زبان‌های TailwindCSS، JavaScript، Python و فریم‌ورک Django. مشتاق یادگیری و پیشرفت
شاید از این پست‌ها خوشتان بیاید