PDA

View Full Version : سوال: استفاده از یک مدل برای هر کنترلر یا یک کلاس واحد؟



R_Rajaee_Rad
یک شنبه 20 دی 1394, 11:05 صبح
فرض کنید 5 تا کنترلر داریم که طبق الگوی MVC به تعداد 5 تا مدل متناظرش هم داریم برای کار دیتابیس
حالا اگر مقیاس پروژه بزرگ نباشه امکانش هست کلا این 5 مدل رو ادغام کنی در یک کلاس تا کل CRUD در این یک کلاس انجام بشه؟

مهرداد سیف زاده
یک شنبه 20 دی 1394, 11:42 صبح
یکی از ملزومات MVC رعایت ساختار و جداسازی بخشها هست
وقتی شما کلاسی به اسم User.php در پوشه مدل دارید این یعنی یک تیبل user هست که از طریق این کلاس باهاش ارتباط دارید و هر گونه تبادل یا تغییر در تیبل دیتابیس از طریق این کلاس انجام میشه
همچنین به فکر توسعه هم باشید شاید چند روز دیگه اومدید روی پروژه بعد باید بگردید یکی‌یکی دنبال بخشها که کدوم بخش داره چکاری میکنه. یا برای باگ گیری باید کلی زمان برای پیدا کردن محل احتمالی باگ بشید.
البته بسته به نیاز بعضی اوقات پیش میاد که باید ساختار رو زیر پا گذاشت چون راه دیگه‌ای نداره. ولی در حالت عادی باید جدا بشه.

0xEHSAN
یک شنبه 20 دی 1394, 12:04 عصر
اخر هم نفهمیدم این MVC چیه؟ :)

مهرداد سیف زاده
یک شنبه 20 دی 1394, 13:28 عصر
اخر هم نفهمیدم این MVC چیه؟ :)
چیزی جز یک ساختار واحد در برنامه نویسی نیست. یه مجموعه قوانین برای رابطه‌ بخشهای اصلی نرم افزار.
باید دست به کد بشید تا مفهومش رو درک کنید.

plague
یک شنبه 20 دی 1394, 14:29 عصر
طبق تجربه ای که من داشتم عملا 80 درصد مدل ها کارشون در CRUD خلاصه میشه
اگه شما مدل CRUD داشته باشید که بتونه حالت های پیچیده و کوئری های مختلف رو هندل کنه سرعت انجام پروژه خیلی بالا میره و همچنین توسعه / نگهداری / امنیت سیستم هم راحت تر میشه چون عملا شما1 مدل با 3-4 تا تابع بیشتر ندارید و همه بخش ها از همین ها استفاده میکنن و البته همه بخش ها مجبور میشن که استاندارد و سینتکسی که اون مدل دیکته میکنه رو پیروی کنن

همچنین اگه گروهی کار کنید روی سیستم باعث میشه حتی کسانی که علم چندانی ندارن با یادگرفتن روش نوشتن کوئری به روش مدل شما اکثر نیاز هاشون رو برطرف کنن و یک روش واحد بین همه اعضا برای اتصال به دیتابیس بوجود بیاد

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

در مورد معایب این روش هم چیزی به ذهن من نمیرسه ! مگه اینکه از لحظا تئوری و استاندارد ساختار mvc مشکلی داشته باشه

0xEHSAN
یک شنبه 20 دی 1394, 15:02 عصر
درود مشکل همینجاست که نمیدونم چجوری و از کجا شروع کنم رفتم یک آموزش دیدم که سه تا کلاس ماژول و ویو و کنترلر ایجاد شده بود بعد کلاس ماژول رو تو ویو قرار داده بود همین آخر هم نفهمیدم اون کلاس کنترلر رو واسه چی ساخته بود وقتی ازش استفاده نمیکرد:)

0xEHSAN
یک شنبه 20 دی 1394, 15:47 عصر
برای مثال اینجا هم توضیح داده با باگ rfi


http://www.nathandavison.com/article/10/custom-php-mvc-tutorial-part-2-url-mapping-and-indexphp


ولی اگه میشه یک نمونه ساده الگوریتمی وار بدون کد هم باشه مهم نیست فقط برام توضیح بدین ممنون میشم