Skip to content
میلاد حاتمی
میلاد حاتمی هستم. برنامه نویس و مدرس جنگو. امیدوارم بتونم با آموزش های رایگان در جنگولرن به برنامه نویس های این فریمورک کمک کنم.

حمایت از جنگولرن

تمامی مطالب و آموزش های جنگولرن رایگان است. برای حمایت از جنگولرن اینجا (پلتفرم idpay) کلیک کنید.

09384677005 miladhzz@gmail.com instagram linkedin github-circle
جنگولرن - آموزش رایگان Django به زبان فارسی
خانه » چرا از شی گرایی استفاده کنیم – ادامه
Post Views: 67

چرا از شی گرایی استفاده کنیم – ادامه

ژوئن 7, 2023 ژوئن 7, 2023 دسته‌بندی نشده
میلاد حاتمی

▪️خب قبل از برنامه نویسی ساخت یافته همین goto ها بودن. و چیزی به اسم حلقه و متد و پروسیجر نبود. هرچند بعد از کامپایل بازم کامپیوتر به همون روش goto کار رو انجام میده.
ولی استفاده از goto در بسیاری موارد برنامه نویس رو به اشتباه میندازه. اون کامپیوتر هست که با اصول اسمبلی و زبان ماشین می‌تونه به راحتی ازش استفاده کنه.
مثل این میمونه که تو یه کتب داری میخونی، نویسنده تورو همیشه به چند صفحه جلوتر و یا چند صفحه عقب تر پرت میکنه. این باعث گیج شدن برنامه نویس موقع توسعه کد میشه و بعضی اوقات از goto استفاده میکنه که نباید بکنه و باعث خطا میشه و دیباگ کردن این کد شبیه به فاجعه است
خب به خاطر همین مشکلات بود که برنامه نویسی ساخت یافته ایجاد شد. قبل از برنامه نویسی ساخت یافته کدها scope نداشتن و متغیرها هم درهم بود.
که بعدها فهمیدن که اونم برای توسعه کد خوب نیست و رسیدن به همین شی گرایی

▪️من فکر میکنم که بایستی اینجوری بگیم که شی گرایی در ادامه روند تکامل مدل فکری برنامه نویسی ما مطرح شد. ساختار یافته برای نوشتن برنامه های قدیمی مناسب بود. برای اون فرم برنامه های مثلا ۴۰ سال پیش نقص نداشت ولی به فراخور رشد کامپیوتر و مدیومش نیازهایی مطرح شد که قبلا نبود. مثلا ماژولاریتی و تعامل. در مدل ساختاریافته همه چی حول دیتاست. در شی گرایی دیتا کپسوله میشه و همه چی دیگه حول رفتاره نمیگم این خوبه یا اون. گاها شی گرایی و اون تفکر شی گرا گونه اینقدر پیچیده یا پوچ میشه که بهترین روش اینه که از اون استفاده نکنیم. بنظر من، سادگی یه اسکریپت مهمتر از کاستیه که داره. حداقل با خواندنش متوجه میشی که چرا کاست داره و میتونی بهبودش بدی. ولی فرض کن یه اسکریپت داریم که خیلی پیچیدس، قابل فهمیدن نیست ولی بطرز عجیبی، خیلی خوب کار می‌کنه ولی هیچکس جرات نمیکنه سمتش بره و ادیتش کنه. بنظرم یکی از دلایلی که OOP معروفه، اینه که توی یه سری از مقیاس ها، به کدییس سادگی میبخشه. خیلی جاها باعث میشه یه سری پرینسیپل ها رعایت شن.

حالا چرا OOP نه؟
من یه اسکریپت میخوام که یه URL بگیره، ریسپانس رو فیلتر کنه و بهم برگردونه. هیچ دلیلی نداره وقتی یه انباری کوچیک احتیاج دارم، نقشه کشی کنم، مصالح ساختمانی بیارم و اسکلت ساختمان بزنم وقتی با چند تا بلوک آجر کارم راه میوفته.

❇️ بنظرم بهترین جواب میتونه این باشه:
اول Principle های کاری که انجام میدیم رو بدونیم چون اونا باعث میشن اگه نتیجه کار صرفا بست پرکتیس نباشه، زیاد تفاوتی با بست پرکتیس نداشته باشه. ما همیشه سعی میکنیم بهترین رویکرد ها رو انتخاب کنیم و در اکثر مواقع، طبق رعایت همون پرینسیپل ها متوجه میشیم که آیا Masterpiece ساختیم یا Sh*tpiece!

Post Views: 67
کپی از مطالب حتی بدون ذکر منبع مجاز است.