ویرگول
ورودثبت نام
Seyed Morteza Kamali
Seyed Morteza Kamali
Seyed Morteza Kamali
Seyed Morteza Kamali
خواندن ۱ دقیقه·۶ سال پیش

اصل Open/Closed

Open/Close Principle (OCP)

هر کلاس باید قابل توسعه باشد ولی تغییر نکند.

ضمانت می‌کند که کلاس ها قابل ارث بری و استفاده هستند ولی نباید از بیرون قابل تغییر باشند.

به عنوان مثال بدون اینکه لگو را عوض کنیم می توانیم با آن هر چیزی که می خواهیم را توسعه بدهیم!

یعنی کدتان نباید مثل یک دیوار آجری باشد که برای تغییر حتماً باید خراب شود!

مثال

فرض کنید یک کلاس برای محاسبه Damage سربازان مختلف داریم.

همان طور که می بینید با اضافه شدن سربازان جدید به تعداد خط های کدمان اضافه می شود.

https://gist.github.com/smkplus/5e640357f5390b57806d4507b1d75529

به جای اینکه با if , else یا switch نوع کلاس ها را بررسی کنیم می توانیم تعاریف را داخل خود کلاس ها Encapsulate کنیم.

https://gist.github.com/smkplus/a76f2475aa1fde6092de7e97c38674bb
برنامه نویسییونیتیsolid
۱۲
۵
Seyed Morteza Kamali
Seyed Morteza Kamali
شاید از این پست‌ها خوشتان بیاید