Controller و View در معماری MVC چیست؟

کنترلر و ویو در معماری ام وی سی چیست
what is controller and view

کنترلر و ویو چیست ؟ کنترلرها در معماری MVC چه کاری انجام می دهند؟  از ویوها در معماری mvc به چه منظور استفاده می شود؟

درود ، من آرزو ابراهیمی ،برنامه نویس asp.net ، و با یک مقاله آموزشی دیگر از سری مقالات اموزش mvc core در خدمت شما دوستان هستم ، در این مقاله آموزشی می‌خواهیم با Controller و View در معماری mvc آشنا شویم پس با من همراه باشید و این مقاله آموزشی بسیار کاربردی رو از دست ندهید.

آشنایی با مفهوم Controller در ASP.NET Core MVC

در معماری MVC کنترلرها برای حرکت بین مدل (Model) و نما (View) ، عمل می کنند. کنترلرها از یک سو، تعریف کننده متدهایی برای پیاده سازی منطقی (یا فرآیندهایی) است که بر روی داده های مدل عمل می کنند و از سویی دیگر، فراهم کننده داده هایی است که نما (View) باید نمایش دهد.

کنترلری که در یک پروژه MVC به کار می رود باید :

  • دارای متدهایی (اکشن هایی) برای به بروزرسانی مدل بر پایه تعامل کاربر باشد.

کنترلر (Controller) نباید :

  • دارای منطقی برای چگونگی نمایش اطلاعات باشد. (وظیفه نما است)
  • دارای منطقی برای ذخیره سازی داده ها (به عنوان مثال در پایگاه داده) باشد. (وظیفه مدل است)

آشنایی با مفهوم View در ASP.NET Core MVC

نماها یا View دارای منطق مورد نیاز برای نمایش داده ها به کاربر و گرفتن اطلاعات از او هستند. این اطلاعات ورودی باید توسط متد اکشنی در یک Controller ، پردازش شوند.

نما (View) باید :

  • دارای کد مناسب برای نمایش اطلاعات به کاربر باشد.

نما نباید:

  • دارای منطق (کد) پیچیده باشد. (بهتر است در کنترلر قرارگیرد)
  • دارای کدی در رابطه با ایجاد، ذخیره سازی و پردازش داده های مدل باشد.

نکته : نماها می توانند دارای کد #C باشند ولی باید سعی کرد که این کد تا جای ممکن ساده باشد.

به پایان این جلسه آموزشی رسیدیم امیدوارم که این جلسه آموزشی برای شما مفید واقع بشه . در صورتی که سوالی پیرامون مقالات ASP.NET Core MVC دارید حتما در انجمن میزفا مطرح کنید.

فیلم آموزشی asp.net core 2

آرزو ابراهیمی
بیش از 6 سال است که زمینه طراحی و توسعه سایت فعالیت می‌کنم، طراح و برنامه نویس انواع سامانه‌های تخصصی پزشکی، مناقصات، فروشگاهی و … بودم و هستم و هدفم در سایت میزفا ارائه اطلاعات بروز و ناب در زمینه طراحی سایت است. تا از این طریق بتونم تجربیات و دانسته های خودم را با تمامی علاقمندان به مباحث طراحی سایت به اشتراک بزارم .

فیلم آموزشی asp.net core 2

4 نظر

4 پاسخ

  1. با سلام
    ممنون از مطالب مفیدتون
    من یک کنترلر دارم که چندین View را نمایش میدهد، این View ها مراحل ثبت نام هستند و هر کدام به یک مدل مختلف وصل هستند، ضمناً تا آخرین مرحله ثبت نام هیچ اطلاعاتی در دیتابیس ذخیره نمیشود.
    سوال من این هست که برای ذخیره مدل در هر View و نگهداری آن تا آخرین View از چه روشی باید استفاده کرد؟
    * context.Add نتیجه نداد چون با رفتن به هر View، کانتکست داده هایش از بین میرود.
    *همچنین استفاده از Session به مشکل خورد زیرا با توجه به اینکه می بایست در هر View در IActionResult دستور HttpContext.Session.SetObjectAsJson نوشته شود با set بعدی اطلاعات قبلی sesssion پاک میشود و عملا آخرین Session دخیره میشود

    پیشاپیش از اینکه برای پاسخگویی وقت میگدارید سپاسگزارم.

    1. سلام وقتتون بخیر
      می تونید از Form Wizard استفاده کنید توی نت سرچ کنید نمونه های مشابه رو برای شما می آورد
      و در نهایت شما تنها یک View دارید که اطلاعات آن مرجله به مرحله جهت تکمیل نمایش داده می شود.

  2. سلام روزبخیر
    باتشکر از مطالب مفیدتون
    توی تیتر اول باید اصلاحی صورت بگیره:
    آشنایی با مفهوم Model در ASP.NET Core MVC
    به
    آشنایی با مفهوم Controller در ASP.NET Core MVC
    تبدیل بشه
    ممنون

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

نشانی ایمیل شما منتشر نخواهد شد.

حداکثر حجم فایل برای آپلود: 1 مگابایت. فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ. شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید. Drop file here

با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
فیلم آموزشی asp.net core 2
ترک میزفا خوب نیست!
معرفی جامع‌ترین ابزار سئو در ایران
بالای ۱۰ هزار عضو
PHZpZGVvIHdpZHRoPSI2MDAiIGhlaWdodD0iMzUwIiBwb3N0ZXI9Imh0dHBzOi8vbWl6ZmEuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDUvcG9zdGVyLW1pemZhLXRvb2xzLXZpZGVvLW1pbi5wbmciIGNvbnRyb2xzIHByZWxvYWQ9Im5vbmUiPiANCiAgIDxzb3VyY2Ugc3JjPSJodHRwczovL21pemZhLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA1L21pemZhX3Rvb2xzXzcyMHAubXA0IiB0eXBlPSJ2aWRlby9tcDQiPg0KPC92aWRlbz4=