بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

چرا در کلاس model و view از متد استاتیک استفاده میشود؟

مدیریت گفتگو
MVC
121071 10 سال پیش
آخرین تغییر: 9 سال پیش

سلام و درود

برام این سوال پیش اومده که دلیل استفاه از متد استاتیک در کلاس های model و view چیه؟ ممنون میشم اگه شرح کاملی بدین.

نظرات

Soheil 9 سال پیش
سادس! برای اینکه از متدهای استاتیک بدون نمونه گرفتن از خود کلاس میشه استفاده کرد و این عمل روی پرفورمنس و عمکلکرد و سرعت برنامه و همچنین فضای حافظه اشغالی تاثیر ثبت میزاره ...
خب اگر در common.php و بدون هیچ کلاسی تعریف کنیم بهتر نیست؟
البته من منظورم Model نیست؛ کلاس View رو میگم. چرا باید متد Render رو بصورت استاتیک تعریف کنیم؟ چرا بدون کلاس یک فانکشن تعریف نکنیم؟
در لینک مقایسه سرعت بین function و static method صورت گرفته که function بسیار پرسرعت تر عمل کرده است. و اما هنوز علت استفاده از متد استاتیک برای render رو متوجه نشدم.
Token 9 سال پیش
اصلا کار قشنگی نیست که بخوایم از function استفاده کنید، در واقع ما با استفاده از شیء گرایی هر چیزی رو در دسته بندی مخصوص به خودش قرار میدیم، مثلا کوئری های مربوط به user رو در userModel قرار میدیم. اگر از function برای افزایش سرعت و بدون توجه به قابلیت خوانایی و دیباگ بهتر و سریعتر استفاده کنیم دیگه شیء گرایی معنا نداره..
نظر شما رو تا حدودی قبول دارم؛ اما من متد استاتیک render رو میگم. این متد میتونه بصورت فانکشن در common.php تعریف بشه و از نظر سرعت و عملکرد بهتر بشه و همچنین بصورت فانکشن تعریف شده و تمیز و مرتب هست. دلایل محکم تری برای استفاده از متد استاتیک برای render میخوام.
Mehrad 9 سال پیش
یکی از دلایل مهم برای اینکار این هست که در پروژه های بزرگ شما ممکن هست به چندین متد رندر در کلاس view نیاز داشته باشید که هر کدام ویژگی هایی دارند و به شکل خاصی کار رندر را انجام میدهند.
سجاد عباسی 9 سال پیش
بیشتر به تمیز کد نوشتن فکر کنید خیلی وسواس نداشته باشید روی این موضوع های کوچک موارد دیگر را رعایت کنید مشکلی پیش نمیاد مثلا الگوریتم های بهینه تر. به دلیل استفاده از framework اختصاصی سرعت کد ما خیلی زیاد هست.

هنوز پاسخی ثبت نشده است


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .