وظایف در طراحی mvc

ارسال پست
sajadMathShah
پست: 13
تاریخ عضویت: پنج شنبه 2 مرداد 1399, 6:21 am

وظایف در طراحی mvc

پست توسط sajadMathShah » شنبه 25 مرداد 1399, 12:38 am

با عرض سلام و خسته نباشید خدمت استاد بزرگوار
استاد عزیز ، دو سواال داشتم :

1-- استاد در طراحی سه لایه mvc :: متدهایی مثل محاسبه معدل را در کدام لایه باید بنویسیم؟؟؟ در لایه entity و در خود کلاس student بنویسیم ؟ یا در لایه service قرار دهیم؟؟؟


2- یکی از اساتید بنده میگفتند که کلاسهای لایه entity نباید فقط properites باشندد با یک سری متد های setter and getter ، و باید کارهایی به آنها سپرده شود ، مثلا در مورد محاسبه معدل ، باید کار را به خود کلاس دانش آموز سپرد ، این حرف به نظر شما درست است؟؟؟ یا اینکه کلاسهای لایه entity فقط باید مجموعه ای از properties و
getter and setter ها باشند؟؟

java2
مدیر کل سایت
پست: 178
تاریخ عضویت: پنج شنبه 13 دی 1397, 6:49 pm

Re: وظایف در طراحی mvc

پست توسط java2 » یک شنبه 26 مرداد 1399, 11:40 pm

با سلام
پاسخ شماره یک: مشخصا خیر، عملیاتی همچون AVG با وجود فانکشن در بانک اطلاعاتی بهتر است در همان بانک اطلاعاتی انجام پذیرید تا نیاز نباشد تمام داده ها جهت معدل گیری واکشی گردد. عملیات پایه لایه Repository شامل C R U D می باشد. اما در این موارد سعی کنید متد های دیگری نیز در این لایه اضافه کنید.
SELECT AVG(SCORE) MOADEL FROM STUDENTS

2- در بعضی موارد جهت متد های Helper که صد البته وظیفه تجاری ندارند و یا متد های تغییر در محتوای نمایشی بطور مثال
0 زن
1 مرد
و یا متد های مرسوم همانند toString در این کلاسها می توان اضافه کرد اما دقت شود که هیچکدام نه تجاری بوده و نه نقش Repository را ایفا می کنند.

در بسیاری از فریم ورک ها باید دقت داشته باشید که از تعریف متد های سایر لایه ها در لایه entity جلوگیری کنید در غیر اینصورت دچار اشکالات زیادی خواهید شد.

حتما در مورد مفهوم Entity و DTO بررسی کنید. مفهوم Entity معادل ساختار فیزیکی می باشد. DTO وظیفه Data Transfer Object را بر عهده دارد. که البته با ابزار های مدرن تولید JSon نیاز به این لایه دیگر همانند سابق احساس نمی شود. سابق حتی متد های (زن و مرد "اشاره شده در مبحث فوق") در این لایه دیده می شد.

sajadMathShah
پست: 13
تاریخ عضویت: پنج شنبه 2 مرداد 1399, 6:21 am

Re: وظایف در طراحی mvc

پست توسط sajadMathShah » دو شنبه 27 مرداد 1399, 10:52 pm

استاد بزرگوار بسیار بسیار بسیار از شما ممنووووونم ، جوابتون کامل جامع و عالی بود ، خیلی ممنونم ازتون

ارسال پست