Model در MVC مسئول اعمال قوانین حاکم در اپلیکیشن روی دادهها است. با توجه به این که در وب اپلیکیشن ها، ما با دادههای مختلفی سروکار داریم و این دادهها عمدتا در دیتابیس ذخیره می شوند، مدل علاوه بر داشتن نقشی به عنوان مسئول مدیریت Business Logic اپلیکیشن، جایی است که ارتباط با دیتابیس را هم بر عهده می گیرد.
مدل هر نوع دادهای که کاربر از طریق ویو درخواست کرده باشد -از یک پیام گرفته تا لیست کتاب، آلبوم عکس یا موسیقی- را تحویل کنترلر می دهد. توجه داشته باشیم داده یا دادههایی که مدل در اختیار کنترلر قرار میدهد را میتوان همچون یک شیء تلقی کرد. لذا این شیئ از دادهها است که به دست ویو میرسد و ویو هم خواهد توانست به هر سبکی که تمایل داشته باشد آن را اصطلاحاً Render کند یا «نمایش دهد».
پیش از این هم گفتیم که مدل دربرگیرنده ی مهمترین بخش از اپلیکیشن ما است که نام آن را Business Logic گذاشتیم. این منطق دقیقاً همان چیزی است که اپلیکیشن به خاطر آن طراحی شده است. به طور مثال، Business Logic سکان آکادمی ارائه ی آموزشهای برنامه نویسی و طراحی سایت به علاقمندان است پس منطق اصلی این وب اپلیکیشن حول آموزش می گردد.
نکته |
لازم به ذکر است که در معماری ام وی سی، Controller نیز علاوه بر وظیفه ی اصلی اش که همان برقرار ارتباط مابین ویو و مدل است، این اجازه را دارد تا به مدیریت منطق برخی از بخشهای خود اپلیکیشن نیز پرداخته و به کمک Model بیاید. |