PDA

View Full Version : گفتگو: فانکشنال یا شی گرایی ؟



navid3d_69
جمعه 15 دی 1391, 20:12 عصر
سلام این رو می دونم که شی گرا خیلی بهتر هست از مدل فانکشنال و قدرت برنامه نویسی رو خیلی بیشتر می کنه ولی بیشتر سوال من سر این هست که خب در حالت شی گرایی ما برای استفاده از از کلاس باید یاید شی بسازیم خب شی مقدار از رم رو میگیره ولی فکر می کنم فانکشنال اینجوری نیست بنظر من می تونه توی استفاده از منابع سرور در پروژه های بزرگ بهتر باشه

و یک سوال دیگه اینه که من اگر توی صفحه اصلی سایت از یک کلاس یک شی بسازم و اگر 10000 تا کاربر همزمان اون صفحه رو باز کنند اندازه 10000 تا شی حجم از منابع سرور میگیره یا فقط یک بار؟

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

من پروژه ای که الان دارم انجام میدم رو قسمت هایی که مدیران دسترسی دارن رو شی گرا کار کردم و قسمت هایی که باید به کاربر نمایش داده بشه رو با فانکش این کار درست هست؟

pani.khoram
جمعه 15 دی 1391, 22:00 عصر
سلام
معمولا طرح این سوالات درون سطح معماری یک پروژه می باشد ، حالا دوست من ، هیچ سبک برنامه نویسی به اندازه Object Oriented بهینه شده نیست به شرط اینکه صحیح ازش استفاده بشه ، هیچ کدام از برنامه نویسی های موجود نیست که فضا نگیره برای استفاده ولی این که کدومش بهتره ، بی شک استاندارد استفاده کردن از oop ، حالا استاندارد نوشتن به چه معنی باشه ان خودش یه صحبت دیگه است ، مثلا استفاده بی خود از متغیر ها و تقسیم غیر صحیح متد ها در کلاس های بی ارزش و ... ، حالا اگه می خوای خیلی صحیح و درست کد بنویسی برو سراغ MVC ، تو این سبک حداقل کلی از اسپاگتی کد ها رو هم شکستی و هم خوانایی کدت خیلی بهتر می شه و هم سرعت عمل پاسخ گویی سرور به کابرهای در حال استفاده خیلی بیشتر می شه .

بله تمام متد ها و کلاس ها وقتی شما ازشون استفاده می کنید ، فضا از حافظه می گیرند ولی OOP این امکان رو به شما می ده که در انتهای استفاده از سیستم کل فضای استفاده شده از بین بره و این یعنی سرعت عمل بیشتر پاسخگویی سرور .

موفق باشی

navid3d_69
جمعه 15 دی 1391, 22:03 عصر
بله تمام متد ها و کلاس ها وقتی شما ازشون استفاده می کنید ، فضا از حافظه می گیرند ولی OOP این امکان رو به شما می ده که در انتهای استفاده از سیستم کل فضای استفاده شده از بین بره و این یعنی سرعت عمل بیشتر پاسخگویی سرور .

موفق باشی

خب چجوری میشه خالی کرد فضا رو؟

pani.khoram
جمعه 15 دی 1391, 22:29 عصر
خود وب سرور شما این کارو می کنه ، شما داری از یک کلاس ابجکت می سازی ، کارت که با آبجکت تمام بشه یا متد به انتها برسه کل کلاس قسمتی که فضا رو گرفته آزاد می کنه ، نرم افزار های آنالیز زیادی هستند که کمک می کنند به درک خیلی بیشتر این موضوع . این طوری خیلی راحت شما می تونید کمک بگیرید از سیستم آنالیز های آنلاین مثلا برای آپاچی که ببینید هر آبجکت چه قدر فضا می گیره و ... .
امیدوارم کمک کرده باشم بهتون
موفق باشید