object oriented یا procedural programming - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

object oriented یا procedural programming

0 امتیاز

به نظر شما من که تازه دارم شروع می کنم با کدومشون کار کنم با هم خیلی فرق دارن؟angel

سوال شده آذر 2, 1392  بوسیله ی maziyar ebrahimi (امتیاز 87)   6 13 20
دوباره تگ گذاری شد بهمن 12, 1392 بوسیله ی BlueBlade

2 پاسخ

+1 امتیاز
 
بهترین پاسخ

بسیاری از برنامه نویسان حرفه ای می گویند که هیچ مدل برنامه نویسی برای همه موارد بهترین نیست. ولی در حالت کلی اگر برنامه ای را بتوان به صورت Object Oriented نوشت نگهداری آن بسیار ساده تر خواهد بود و خیلی ساده تر می توان آنرا توسعه داد. نسل جدیدتر مدل برنامه نویسی، AO (Aspect Oriented) است که مزایای بیشتری نسبت به مدل برنامه نویسی OOP کلاسیک دارد. من توصیه می کنم که در ابتدای کار بر مبنای مدل ساخت یافته کار کنید و سپس برنامه نویسی OOP را بیاموزید که با هر دوی آنها آشنا شوید. البته بسیاری از کتابها از درس ششم یا هفتم به بعد عملاً برنامه نویسی شی گرا را هدف قرار می دهند که این روش هم به نظر من کاملاً صحیح است، چرا که چه بخواهیم یا نخواهیم و چه بدانیم و یا ندانیم (!) در ابتدای کار همگی ما با روش ساخت یافته آشنا می شویم.

پاسخ داده شده آذر 5, 1392 بوسیله ی r0lex (امتیاز 391)   1 1 9
انتخاب شد آذر 6, 1392 بوسیله ی maziyar ebrahimi
+2 امتیاز

توی برنامه نویسی procedural ما پروژه مون از توابع تشکیل شده و شرایط مختلف در کد از طریق متغیر های shared بیان میشه در صورتیکه در oop از طریق ارسال پیام این کار انجام میشه.در برنامه نویسی procedure ما چیزی به نام وراثت و کپسوله سازی نداریم.

از طرف دیگه شما تو بحث کد نویسی هم یک سری مزیت ها تو OOP دارید تو procedural شما بایستی کلیه پارامترهای موردنظر را با توابع پاس بدید که این خودش بحث مفصلی تو بحث call conversion هستش در صورتیکه توی کلاس این قضیه از طریق فیلدها و متغیر های عضو کلاس حل میشه.

درضمن تو کلاس ها مسئله miss caching هم نداریم چون متغیرهای عضو در کنار یکدیگر ذخیره میشن.

پاسخ داده شده آذر 6, 1392 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
ویرایش شده آذر 6, 1392 بوسیله ی r0lex
...