معماری mvc چیست؟
معماری MVC یک الگو نرمافزاری است که آن برنامه را به سه قسمت اصلی که شامل نما، کنترلر و مدل باشد تقسیم میکند. هر یک از این مؤلفهها برای رسیدگی به جنبههای مختلف توسعه خاص یک برنامه ساخته شدهاند.
MVC یکی از بهترین راههای توسعه استاندارد وب برای ایجاد پروژههای مقیاسپذیر و قابل توسعه است که در این صنعت استفاده بسیاری از آن میشود. زبان برنامهنویسی php به صورت پیشفرض امکانات پیادهسازی معماری MVC را ندارد، از این رو برخی فریمورکهای ثانویه برای این کار استفاده میشود. در حال حاضر یکی از بهترین آنها لاراول است.
اجزای تشکیلدهندهی معماری MVC چیست؟
مدل (Model)
مؤلفه Model با منطق مربوط به دادهها که کاربر با آنها کار میکند سروکار دارد. این میتواند دادههایی باشد که بین اجزای View و Controller یا سایر دادههای مرتبط با منطق تجاری منتقل میشود. به عنوان مثال، یک شی مشتری، اطلاعات مشتری را از پایگاه داده بازیابی میکند، آن را دستکاری کرده و دادهها را دوباره در پایگاه داده به روز میکند یا از آن برای ارائه داده استفاده میکند.
نما (View)
View برای UI برنامه استفاده میشود. به عنوان مثال، نمای مشتری شامل تمام مؤلفههای UI مانند جعبه متن، منوی کشویی و غیره است که کاربر نهایی با آنها در تعامل است.
کنترل کننده (Controller)
کنترلکنندهها به عنوان واسط بین مؤلفه های Model و View عمل میکنند تا کلیه منطق تجارت و درخواستهای دریافتی را پردازش کنند، داده ها را با استفاده از مؤلفه Model دستکاری کرده و با Views در تعامل باشند تا نتیجه نهایی را ارائه دهد.
به عنوان مثال، کنترلکننده مشتری تمام تعاملها و ورودیهای مربوط به نمای مشتری را کنترل میکند و بانک اطلاعات را با استفاده از Model Customer به روز میکند. از همان کنترلر برای مشاهده دادههای مشتری استفاده خواهد شد.