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

اصل باز - بسته (Open/Closed Principle)

خوب توی این پست به اصل باز و بسته اشاره می کنیم



اول از همه باید بدونیم منظور از باز و بسته چیه؟

چه زمانی به یه کلاس می گیم باز؟
وقتی یه کلاس رو می شه توسعه داد بهش می گن کلاس باز (متد ها و پراپرتی های جدید اضافه کرد)

چه زمانی به یه کلاس می گیم بسته؟
وقتی یه کلاس کامل شد(یعنی به طور کامل تست شده و بتونه توسط بقیه کلاس ها استفاده بشه و پایدار باشه)

خب حالا چطوری باید استفاده کنیم؟

اصل OpenClosePrinciple (از این به بعد بهش می گیم OCP) می گه که :
اقا کد رو طوری بنویس که وقتی می خوایم ویژگی های جدید اضافه کنیم مجبور نشیم کلاس رو دستکاری کنیم
طبق این چیزی که داکیومنت گفته کلاس ها هم باید باز باشن هم بسته! ولی خب چطوری بیاین یه مثال بزنیم:

مثلا می خواین توی برنامه به زبان های مختلف بگید "سلام" می تونیم از این روش بریم:

خوب این روش به نظر جالب می رسه ولی اگه تعداد زبان ها بشه 150 تا ما فقط باید توی کلاس اصلی دست ببریم

خیلی مسخره می شه کد هم خیلی بهم ریختست
اینجاست که OCP به کارمون میاد

اینطوری تابع اصلی که "Hello" باشه ثابت می مونه و می تونیم برای هر زبان مختلف کلاس خودش رو بنویسم اینطوری کد تمیزتره
یا به صورت کلی کلاس "Hello" بستست(کلاس اصلی و متدش دستکاری نمی شن)

این پست جزو یه سری از پست های مفهوم طراحی SOLID هست اگه علاقه داری می تونی از اینجا به بقیه مقاله ها دسترسی داشته باشی

https://virgool.io/@KMmatin/%D8%A7%D8%B5%D9%88%D9%84-solid-kilmqrbhi29u

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

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


solidاصول solidاصل Open Closed Principle (OCP)اصول برنامه نویسیکلاس
برنامه‌نویس Back End مسلط به زبان‌های TailwindCSS، JavaScript، Python و فریم‌ورک Django. مشتاق یادگیری و پیشرفت
شاید از این پست‌ها خوشتان بیاید