آشنایی با معماری MVC

معماری mvc در asp.net core چیست؟
what is mvc

معماری mvc چیست ؟ معماری ام وی سی شامل چه بخش هایی است؟ معماری mvc چگونه عمل میکند؟ آیا خوبه که از معماری mvc استفاده کنم؟

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

تاریخچه معماری MVC

اصطلاح مدل – ویو – کنترلر (Model-View-Controller) از اواخر دهه 70 میلادی در زمان ایجاد پروژه ای به زبان Smalltalk معمول شد. برخی از جزئیات MVC اولیه به مفاهیم خاصی از Smalltalk مربوط می شود ولی بسیاری از مفاهیم اصلی آن هنوز هم در ایجاد پروژه های امروزی ، به ویژه پروژه های وب کاربرد دارند.

آشنایی با الگوی MVC

در الگوی یا معماری MVC یک برنامه به سه بخش تقسیم می‌شود :

  • مدل ها (Model): مدل ها نماینده داده های برنامه هستند.
  • ویوها (View) : ویوها همان رابط کاربری یا UI(User Interface) هستند ، به زبان ساده View آن چیزیست که کاربر در پنجره مرورگر می‌بیند.
  • کنترلرها (Controller) : کنترلرها مسئول پردازش تقاضاهای رسیده و داده های مدل و افزون بر این ، انتخاب و نمایش نمای مناسب به کاربر هستند.

هر یک از بخش های یاد شده باید بتوانند همه کارایی مورد انتظار خود را به صورت مستقل و کامل برآورده کنند. این مفهوم را با نام (Separation Of Concerns) و یا تفکیک دغدغه ها می شناسند .منطقی که داده ها بر اساس آن پردازش می شوند تنها در مدل ، تعریف شده و قابل دسترسی است . به همین صورت کدی که مسئول نمایش اطلاعات است تنها در نما یافت می شود و درخواست های رسیده از واسط کاربری ، تنها در کنترلر بررسی و پاسخ داده می شود وجود چنین بخش بندی روشنی بین این سه بخش ، موجب می شود که نگهداری و توسعه پروژه در طی زمان ، بدون در نظر گرفتن حجم آن ،به آسانی انجام شود.

معماری MVC چگونه کار می کند ؟ (به همراه مثال)

طرز کار معماری MVC و نحوه تعامل Model ، View و Controller را با یک مثال برایتان توضیح میدم فرض کنید که یک کاربر وارد سایت شما می شود و قصد دارد لاگین کند خب شما یک View به کاربر نمایش می‌دهید تا نام کاربری و کلمه عبور خودش را وارد کند ، کاربر زمانیکه اطلاعاتش را وارد کرد و روی دکمه ورود به سایت کلیک کرد یک درخواست به سمت کنترلر فرستاده می‌شود ، کنترلر درخواست رسیده را اعتبارسنجی می کند و به منظور چک کردن درستی نام کاربری و کلمه عبور یک درخواست به مدل می فرستد مدل پس از دریافت این درخواست به دیتابیس مراجعه می‌کند و چک می‌کند که آیا این نام کاربری و کلمه عبور در دیتابیس وجود دارد یا خیر و سپس نتیجه را به کنترلر باز می‌گرداند کنترلر پس از دریافت پاسخ ، با توجه به نتیجه ای که مدل برایش ارسال کرده یک View مناسب به کاربر نمایش می دهد.

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

 

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

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

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

بدون نظر

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

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

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

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

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

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