طی چند سال گذشته ، وب سایت ها از صفحات HTML ساده با کمی CSS به برنامه های فوق العاده پیچیده منتقل شده اند و هزاران توسعه دهنده همزمان روی آنها کار می کنند. برای همکاری با این برنامه های پیچیده وب ، توسعه دهندگان از الگوهای مختلف طراحی برای ارائه پروژه های خود استفاده می کنند تا کد را پیچیده تر و کار با آن آسان تر کند. محبوب ترین این الگوهای MVC است که به عنوان کنترل کننده View Model نیز شناخته می شود.
چارچوب مدل-نمای کنترل کننده (MVC) یک الگوی معماری/طراحی است که یک برنامه را به سه مدل اصلی ، نمای و کنترل کننده اصلی جدا می کند. هر مؤلفه معماری برای رسیدگی به جنبه های توسعه خاص یک برنامه ساخته شده است. این منطق تجارت و لایه ارائه را از یکدیگر جدا می کند. به طور سنتی برای رابط های کاربر گرافیکی دسک تاپ (GUI) استفاده می شد. امروزه ، MVC یکی از متداول ترین چارچوب های توسعه وب استاندارد صنعت برای ایجاد پروژه های مقیاس پذیر و گسترده است. همچنین برای طراحی برنامه های تلفن همراه استفاده می شود.
MVC توسط Trygve Reenskaug ایجاد شده است. هدف اصلی این الگوی طراحی ، حل مشکل کاربران کنترل داده های بزرگ و پیچیده است که با تقسیم یک برنامه بزرگ در بخش های خاص که همه آنها هدف خاص خود را دارند ، کنترل می کنند.
ویژگی های MVC:
- این یک جدایی واضح از منطق کسب و کار ، منطق UL و منطق ورودی را فراهم می کند.
- این کنترل کامل بر HTML و URL های شما ارائه می دهد که طراحی معماری برنامه وب را آسان می کند.
- این یک مؤلفه قدرتمند نقشه برداری URL است که از آن می توانیم برنامه هایی بسازیم که دارای URL های قابل درک و قابل جستجو باشند.
- از توسعه محور تست (TDD) پشتیبانی می کند.
اجزای MVC:
چارچوب MVC شامل 3 مؤلفه زیر است:

طراحی معماری MVC
کنترل کننده:
کنترلر مؤلفه ای است که اتصال بین نماها و مدل را امکان پذیر می کند ، بنابراین به عنوان یک واسطه عمل می کند. کنترل کننده نیازی به نگرانی در مورد استفاده از منطق داده ها ندارد ، فقط به مدل می گوید چه کاری باید انجام دهد. این همه منطق کسب و کار و درخواست های دریافتی را پردازش می کند ، داده ها را با استفاده از مؤلفه مدل دستکاری می کند و با دیدگاه برای ارائه خروجی نهایی ارتباط برقرار می کند.
چشم انداز:
مؤلفه مشاهده برای تمام منطق UI برنامه استفاده می شود. این یک رابط کاربری برای کاربر ایجاد می کند. نماها توسط داده هایی که توسط مؤلفه مدل جمع آوری می شود ایجاد می شوند اما این داده ها به طور مستقیم بلکه از طریق کنترلر گرفته نمی شوند. این فقط با کنترلر تعامل دارد.
مدل:
مؤلفه مدل با تمام منطق مربوط به داده که کاربر با آن کار می کند مطابقت دارد. این می تواند داده هایی را که بین نمای و اجزای کنترل کننده یا هر داده مربوط به منطق تجاری دیگر منتقل می شود ، نشان دهد. این می تواند داده ها را از پایگاه داده اضافه یا بازیابی کند. این به درخواست کنترل کننده پاسخ می دهد زیرا کنترل کننده نمی تواند به خودی خود با پایگاه داده ارتباط برقرار کند. این مدل با پایگاه داده تعامل دارد و داده های مورد نیاز را به کنترل کننده باز می گرداند.
بیایید کار چارچوب MVC را با یک مثال درک کنیم:
بیایید تصور کنیم که یک کاربر نهایی درخواستی را به سرور ارسال می کند تا لیستی از دانشجویان را که در یک کلاس تحصیل می کنند ، دریافت کند. سرور سپس آن درخواست را به آن کنترلر خاص که دانش آموزان را کنترل می کند ، ارسال می کند. سپس این کنترلر از الگویی که دانش آموزان را در اختیار دارد ، می خواهد لیستی از همه دانش آموزانی که در یک کلاس تحصیل می کنند را بازگرداند.

جریان داده ها در اجزای MVC
این مدل از پایگاه داده برای لیست همه دانش آموزان پرس و جو می کند و سپس آن لیست را به کنترلر باز می گرداند. اگر پاسخ به مدل موفقیت آمیز بود ، کنترل کننده از دیدگاه مرتبط با دانشجویان می خواهد تا لیستی از دانش آموزان را بازگرداند. این دیدگاه لیستی از دانش آموزان کنترل کننده را در بر می گیرد و لیست را به HTML که می تواند توسط مرورگر استفاده شود ، ارائه می دهد.
سپس کنترل کننده آن ارائه را می گیرد و آن را به کاربر باز می گرداند. بنابراین پایان دادن به درخواستاگر پیش از این مدل خطایی را برگرداند ، کنترلر با پرسیدن دیدگاه که خطاها را برای ارائه ارائه برای آن خطای خاص انجام می دهد ، این خطا را برطرف می کند. این ارائه خطا به جای ارائه لیست دانشجویی به کاربر بازگردانده می شود.
همانطور که از مثال بالا می بینیم ، مدل تمام داده ها را کنترل می کند. نمای همه ارائه ها را انجام می دهد و کنترلر فقط مدل و دیدگاه را می گوید که چه کاری باید انجام شود. این معماری اساسی و کار چارچوب MVC است.
الگوی معماری MVC به ما امکان می دهد تا اصول طراحی زیر را رعایت کنیم: 1. تقسیم و تسخیر. این سه مؤلفه می توانند تا حدودی به طور مستقل طراحی شوند. 2. انسجام را افزایش دهید. این اجزای انسجام لایه ای قوی تری نسبت به اگر نمای و کنترل کننده در یک لایه UI واحد با هم باشند. 3. اتصال را کاهش دهید. کانال های ارتباطی بین سه مؤلفه حداقل و آسان برای یافتن هستند. 4- استفاده مجدد را افزایش دهید. نمای و کنترل کننده به طور معمول از اجزای قابل استفاده مجدد برای انواع مختلف کنترل UI استفاده می کند. UI ، با این حال به برنامه خاص تبدیل می شود ، بنابراین به راحتی قابل استفاده مجدد نخواهد بود. 5. طراحی برای انعطاف پذیری. معمولاً با تغییر نمای ، کنترلر یا هر دو ، تغییر UI بسیار آسان است.
مزایای MVC:
- حفظ کدها آسان است و به راحتی می توان آنها را گسترش داد.
- مؤلفه مدل MVC را می توان به طور جداگانه آزمایش کرد.
- اجزای MVC می توانند به طور همزمان توسعه یابد.
- با تقسیم یک برنامه به سه واحد ، پیچیدگی را کاهش می دهد. مدل ، نمای و کنترلر.
- از توسعه محور تست (TDD) پشتیبانی می کند.
- این برنامه برای برنامه های وب که توسط تیم های بزرگی از طراحان وب و توسعه دهندگان پشتیبانی می شوند ، خوب کار می کند.
- این معماری به آزمایش مستقل از اجزای کمک می کند زیرا همه کلاس ها و اشیاء مستقل از یکدیگر هستند
- بهینه سازی موتور جستجو (SEO) دوستانه.
مضرات MVC:
- خواندن ، تغییر ، آزمایش و استفاده مجدد از این مدل دشوار است
- برای ساختن برنامه های کوچک مناسب نیست.
- ناکارآمدی دسترسی به داده ها از نظر.
- ناوبری چارچوب می تواند پیچیده باشد زیرا لایه های جدیدی از انتزاع را معرفی می کند که کاربران را ملزم به سازگاری با معیارهای تجزیه MVC می کند.
- افزایش پیچیدگی و ناکارآمدی داده ها
چارچوب های محبوب MVC:
برخی از محبوب ترین و گسترده ترین چارچوب های MVC در زیر ذکر شده است.
- یاقوت روی ریل
- دژنگو
- ساقه دار
- MVC بهار
- کاتالیزور
- ریل
- چارچوب zend
- سوخت PHP
- لاراول
- سمفونی
MVC به طور کلی در برنامه هایی که در یک ایستگاه کاری گرافیکی واحد اجرا می شوند استفاده می شود. تقسیم مؤلفه های منطقی امکان خواندن و مدولار بودن را نیز فراهم می کند و باعث می شود قسمت آزمایش راحت تر شود.
گزینه های باینری...
ما را در سایت گزینه های باینری دنبال می کنید
برچسب :
نویسنده : هایده حائری
بازدید : <-PostHit->
تاريخ : پنجشنبه
16 شهريور
1402 ساعت: 15:12