معماری MVC – Spring MVC

هدف از معماری MVC این است که لایه ای که تعامل با کاربران را پیاده سازی می کند، به سه نوع شی تقسیم شود:

اشیاء مدل[۱] نشان دهنده داده هستند: به عنوان مثال، سفارش یک کاربر، و یا اطلاعات مربوط به یک حساب کاربری نمونه ای از اشیاء داده ای هستند.

اشیاء نمایش[۲] مسئول نمایش داده ای هستند که توسط مدل ارائه شده است: به عنوان مثال، این شی می تواند داده ها را در یک جدول، لیست و یا فرم نمایش دهد.

اشیاء کنترلر[۳] مسئول پاسخ به اقداماتی است که یک کاربر درخواست می کند، از جمله می توان به ارسال یک فرم یا کلیک بر روی یک لینک اشاره کرد. کنترلرها مسئول به روز رسانی داده هایی هستند که توسط یک مدل ارائه شده است و یا اقدامی انجام می دهند که باید متناسب عمل کاربر صورت پذیرد. این عمل برای مثال ممکن است شامل ارسال درخواست به لایه کسب و کار[۴] باشد که به نوبه خود سفارش کاربر را پردازش می کند.

پیاده سازی معمولی الگوی معماری MVC در پیاده سازی رابط کاربری گرافیکی شامل موارد زیر است: اقداماتی که در ابتدا صورت می پذیرد، پس از آن کنترل مدل را به روز رسانی می کند، سپس تغییرات به سمت کاربر باز می گردد. این گونه پیاده سازی ایده آل برای برنامه های کاربردی وب به دلیل محدودیت های HTTP امکان پذیر نیست. به طور معمول، یک کاربر با ارسال یک درخواست، به سرور اجازه می دهد یک شی نمایش را به روز رسانی کند، که پس از آن، نتیجه به مرورگر کاربر ارسال می شود. این امکان وجود ندارد که تغییرات در بین درخواست های مشتری به او نمایش داده شود. این ما را مجبور می کند از رویکردی استفاده کنیم که در آن به جای استفاده از ارسال تغییرات مدل به سمت شی نمایش، در هر درخواست، شی نمایش، داده های مربوطه را برای نمایش در جداول، لیست ها، فرم ها، یا هر چیز دیگری از مدل واکشی[۵] می کند.

الگوی طراحی MVC مرز مشخصی را میان مسئولیت ها و نتایج حاصل از اجرای یک کد تعیین می کند. خوشبختانه، استفاده از روش واکشی مانع استفاده شما از MVC نمی شود. استفاده از این رویکرد تنها تغییرات کوچکی در روال اجرای کار ایجاد می کند. بنابراین در Spring MVC هنوز هم قادر به جدا سازی روال کار بر روی داده، خود داده و روالی خواهیم بود که قرار است داده ها را نمایش دهد. نتیجه روال آخری ممکن است یک صفحه HTML تولید شده توسط JavaServer Pages (JSP) و یا یک فایل اکسل تولید شده توسط یک کلاس و به کمک آپاچی POI باشد.

[۱] Model Objects

[۲] View Objects

[۳] Controller

[۴] Business Layer

[۵] Pull

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *