معماری MVC
MVC به عنوان یک الگوی معماری شناخته می شود که شامل سه بخش Model، View و Controller است یا به عبارت دقیق تر برنامه را به سه بخش منطقی تقسیم می کند: بخش مدل، نمای و کنترل کننده. برای رابط های کاربری گرافیکی دسکتاپ استفاده می شد اما امروزه در طراحی اپلیکیشن های موبایل و اپلیکیشن های وب استفاده می شود.
معماری MVC
MVC یک الگوی معماری است به این معنی که بر کل معماری برنامه ها حاکم است. اگرچه اغلب به عنوان الگوی طراحی شناخته می شود، اما اگر آن را فقط به عنوان یک الگوی طراحی معرفی کنیم ممکن است اشتباه کنیم، زیرا الگوهای طراحی برای حل یک مشکل فنی خاص استفاده می شود، در حالی که الگوی معماری برای حل مشکلات معماری استفاده می شود، بنابراین کل آن را تحت تأثیر قرار می دهد.
مدل
به عنوان پایین ترین سطح شناخته می شود که به این معنی است که مسئولیت نگهداری داده ها را بر عهده دارد. داده ها را به طور منطقی مدیریت کنید تا اساساً با داده ها سروکار داشته باشد. مدل در واقع به پایگاه داده متصل است، بنابراین هر کاری که با داده ها انجام دهید. افزودن یا بازیابی داده ها در جزء مدل انجام می شود. به درخواست های کنترلر پاسخ می دهد زیرا کنترل کننده هرگز به تنهایی با پایگاه داده صحبت نمی کند. مدل به صورت رفت و برگشت با پایگاه داده صحبت می کند و سپس داده های مورد نیاز را به کنترل کننده می دهد. توجه: مدل هرگز مستقیماً با view ارتباط برقرار نکرد.
چشم انداز
نمایش داده ها توسط مولفه view انجام می شود. در واقع UI یا رابط کاربری را برای کاربر ایجاد می کند. بنابراین در برنامه های کاربردی وب وقتی به مولفه view فکر می کنید فقط به قسمت Html/CSS فکر کنید. نماها توسط دادههایی ایجاد میشوند که توسط مؤلفه مدل جمعآوری میشوند، اما این دادهها مستقیماً از طریق کنترلکننده گرفته نمیشوند، بنابراین View فقط با کنترلکننده صحبت میکند.
کنترل کننده
به عنوان مرد اصلی شناخته میشود زیرا کنترلکننده مؤلفهای است که ارتباط بین نماها و مدل را امکانپذیر میکند، بنابراین به عنوان یک واسطه عمل میکند. کنترلر لازم نیست نگران مدیریت منطق داده باشد، فقط به مدل می گوید که چه کاری انجام دهد. پس از دریافت دادهها از مدل، آن را پردازش میکند و سپس تمام آن اطلاعات را میگیرد که آن را به view ارسال میکند و نحوه نمایش آن را برای کاربر توضیح میدهد. توجه: نماها و مدل ها نمی توانند مستقیم صحبت کنند.
نتیجه
بنابراین درک MVC آنقدرها هم آسان نیست، واقعاً سخت است، اما یادگیری آن غیرممکن نیست و هر توسعهدهندهای باید آن را در هنگام توسعه یک برنامه در نظر داشته باشد. فقط به خاطر داشته باشید که MVC یک معماری است که نرم افزار شما را به اجزای کوچکتر تقسیم می کند. این مدل با داده ها و منطق سیستم شما سروکار دارد. نما فقط داده ها را نمایش می دهد و کنترلر ارتباط بین مدل و نما را حفظ می کند. این “تقسیم” خوانایی و مدولار بودن را امکان پذیر می کند و همچنین بخش تست را آسان تر می کند.