MVC به عنوان الگوی معماری شناخته میشود که شامل سه بخش Model ،View و Controller است. همواره برای رابط های کاربری گرافیکی دسکتاپ مورد استفاده قرار گرفته بود اما امروزه در طراحی اپلیکیشن های موبایل و اپلیکیشن های وب نیز مورد استفاده قرار می گیرد. در این مقاله به اینکه معماری MVC در برنامه نویسی چیست؟ را مورد بررسی قرار خواهیم داد.
MVC را Trygve Reenskaug طراحی و ایجاد کرده و اولین گزارش برای MVC هنگامی نوشته شد که در سال 1978 و 1979 دانشمندی در آزمایشگاه تحقیقاتی زیراکس پالو آلتو (PARC) بازدید کرد. MVC در ابتدا “Object Model View Editor” نامیده می شد، اما به سرعت آن را به “Model View Controller” تغییر داد.
هدف Tygrve حل مشکل کنترل مجموعه داده بزرگ و پیچیده توسط کاربران بود. روش MVC در طول سال ها تغییر کرده است و از آنجایی که الگوی MVC قبل از مرورگرهای وب اختراع شد، در ابتدا به عنوان الگوی معماری برای رابط های گرافیکی کاربر (GUI) استفاده می شد.
فهرست مطالب
معماری MVC چیست؟
MVC الگوی معماری است به این معنی که بر کل معماری برنامه ها حاکم است. اگرچه اغلب به عنوان الگوی طراحی شناخته می شود، اما اگر آن را فقط به عنوان یک الگوی طراحی معرفی کنیم، ممکن است اشتباه پیش بیاید زیرا الگوهای طراحی برای برطرف کردن مشکل فنی منحصر به فردی مورد استفاده قرار می گیرد و کل آن را تحت تأثیر قرار می دهد.
در حال حاضر از MVC برای طراحی برنامه های کاربردی وب استفاده می شود. برخی از فریم ورک های وب که از مفهوم MVC استفاده می کنند، از جمله: Ruby on Rails Laravel ،Zend Framework ،CherryPy ،Symphony و… می باشد.
معماری MVC دارای سه جزء اصلی است که هر کدام وظایف خاصی دارند:
- Model
- View
- Controller
Model
به عنوان پایین ترین سطح مورد نظر شناخته می شود که به این معنی است که مسئولیت نگهداری داده ها را بر عهده دارد. داده های موجود را به دقت مدیریت کنید تا مستقیما با داده ها ارتباط داشته باشد. مدل در واقع به پایگاه داده متصل است، بنابراین هر کاری که با داده ها انجام دهید. افزودن یا بازیابی داده ها در مدل انجام می گیرد.
به درخواست های Controller پاسخ می دهد زیرا کنترل کننده هرگز به تنهایی با پایگاه داده ارتباط برقرار نمی کند. Model به صورت رفت و برگشت با پایگاه داده ارتباط برقرار نکرده و داده های مورد نیاز را به Controller می دهد. توجه داشته باشید که مدل هرگز مستقیماً با view ارتباط برقرار نمی کند.
view
نمایش داده ها توسط کامپوننت view انجام می شود، در واقع UI یا رابط کاربری را برای کاربر ایجاد می کند و در برنامه های کاربردی وب در مولفه view فقط به قسمت Html/CSS توجه کنید. view توسط دادههایی ایجاد میشوند که توسط مؤلفه مدل جمعآوری میشوند، اما این دادهها مستقیماً از طریق کنترلکننده گرفته نمیشوند، بنابراین View فقط با کنترلکننده صحبت میکند.
controller
به عنوان جز اصلی شناخته میشود زیرا مؤلفهای است که ارتباط بین view و مدل را ایجاد می کند، بنابراین به عنوان یک واسطه عمل میکند. پس از دریافت کردن دادههای مورد نظر از مدل، آن را پردازش کرده و سپس تمام اطلاعات را میگیرد که آن را به view ارسال کرده و نحوه نشان دادن آن را به کاربر توضیح میدهد. توجه داشته باشید که view و model نمی توانند به طور مستقیم ارتباط برقرار کنند.
مزایای معماری MVC
- جدا کردن رابط کاربری از business logic توسط معماری MVC
- نگهداری و کنترل آسان
- نگهداری اجزای مختلف برنامه در MVC به طور مستقل
- کمک به تست اجزای مستقل
معایب MVC
- دارای پیچیدگی زیاد
- نامناسب برای اپلیکیشن های کوچک
- ناکارآمدی دسترسی به داده ها از طریق view
دلیل استفاده از MVC
الگوی MVC به شما کمک می کند تا کدهای front-end و back-end را به اجزای جداگانه تقسیم کنید. درواقع مدیریت و ایجاد تغییرات در هر یک از طرفین بدون دخالت آن ها با یکدیگر بسیار آسان تر است. گفتن این کار آسان تر از انجام آن می باشد، به خصوص زمانی که چندین برنامه نویس نیاز به به روز رسانی، اصلاح، یا اشکال زدایی یک برنامه کامل به طور همزمان داشته باشند.
زبان های مورد استفاده در معماری MVC
نمونه هایی از زبان های برنامه نویسی که از MVC استفاده می کنند عبارتند از C، C++، C#، Java، Ruby، Smalltalk و… فریم ورک هایی که از MVC استفاده می کنند عبارتند از Angular، Express، Django، Flask، Laravel، Ruby on Rail و…
آذرسیس ارائه دهنده سرور مجازی و سرور اختصاصی با بهترین کیفیت و سخت افزار قدرتمند
نتیجه گیری
در این مقاله به اینکه معماری MVC در برنامه نویسی چیست؟ را بررسی کردیم. MVC نوعی الگوی معماری که نرم افزار را به واحدهای کوچکتر تقسیم می کند و به طور کلی model با data و logic سیستم سروکار دارد. view فقط داده ها را نمایش می دهد و controller ارتباط بین model و view را حفظ می کند. از همراهی شما سپاس گذاریم.
سوالات متداول
آیا MVC یک زبان است یا یک فریم ورک؟
MVC در ابتدا در سال 1976 به عنوان یک معماری توسعه برای ایجاد برنامه های دسکتاپ مفهوم سازی شد. MVC از آن زمان به یک فریم ورک برای ایجاد برنامه های کاربردی سازگار با پلتفرم های مختلف با استفاده از انواع زبان های برنامه نویسی از جمله Ruby on Rails تبدیل شده می باشد.
MVC چیست و چرا استفاده می شود؟
MVC، مخفف Model، View و Controller، یک روش یا الگوی معماری است که برای ارتباط موثر رابط کاربری با مدلهای داده زیربنایی و سازماندهی برای ارتباط کد برنامه استفاده میشود. MVC در درجه اول برای تفکیک یک برنامه به سه جزء اصلی استفاده می شود از جمله: Model، View و Controller.
سارا احمدی
سلام وقت بخیر آیا میتونم در زبان php از معماری mvc استفاده کنم