This article is currently in the process of being translated into Persian (~50% done).


What is MVC?

MVC مخفف Model-view-controller است که یک الگوی نرم‌افزاری است و در اصل در دهه هفتاد میلادی وقتی که ظاهر گرافیکی کاربری در ابتدای راه قرار داشت پایه ریزی شد. MVC کوششی است برای جداسازی یک نرم‌افزار به سه بخش مجزا:

Model (مدل)

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

View (نما)

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

Controller (کنترل کننده)

کنترلر باید تمامی ارتباطات میان Model و View را مدیریت کند. در یک برنامه رایج وب، متدهای یک کنترلر زمانی توسط کاربر درخواست می شوند که صفحه وب بارگذاری شود یا دکمه ای کلیک شود. سپس کنترلر در صورت نیاز Model را بروز رسانی می کند و پس از آن یک View را باز هم در صورت نیاز بر می گرداند.

The Rise of MVC

After being introduced in the 1970's, the MVC pattern didn't get much attention for the next 30 years. Early web languages, like Perl, PHP and ASP Classic didn't really focus on design patterns and even with the release of ASP.NET, MVC was still not an integrated part of it. Sure, you could apply MVC techniques to your projects, but none of the popular frameworks encouraged it in any way.

Then, in 2004, the Ruby on Rails framework was released, which was a web development framework based on the Ruby language with heavy inspiration from the MVC pattern. A lot of people believe that this put the focus back on MVC and shortly thereafter, many PHP frameworks, centered around the MVC pattern, was released. All of this made the MVC pattern hugely popular, which is probably why Microsoft decided to do an implementation of it for their .NET framework, including massive tool support in their Visual Studio IDE. ASP.NET MVC was released in 2007, but the first final version didn't see the light of day before 2009.

In the next chapters, we will look deeper into what ASP.NET MVC is all about and how it compares to the alternatives, mainly ASP.NET WebForms.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!