Open Nav

آشنایی با معماری MVC

559
نویسنده : مدیر سایت
منبع : سایت زیوس
28 1397 آذر

zeusir.com - MVC 

هر سازه ای که در این جهان وجود دارد از نظم خاصی پیروی میکند و طبق سازمان دهی مخصوص خودش پیاده سازی شده است و طبق همان الگو توسعه پیدا میکند که به این ساختار، معماری آن سازه میگویند.

وب سایت ها نیز از این قاعده مستثنی نیستند و برای موفقیت و کارایی به معماری و سازمان دهی نیاز دارند؛ داشتن معماری خاصی الزامی نیست اما انتخاب اشتباه در نوع معماری میتواند باعث ناکارآمدی وبسایت شما شود که اعتبار شما را دچار آسیب جبران ناپذیری میکند.

برای جلوگیری از این امر شما را با معروف ترین و بهترین معماری ممکن برای وبسایت ها آشنا میکنیم.

معماری MVCچیست؟

 

 zeusir.com - MVC2

MVC مخفف Model View Controller است و به معنای کنترل و نمایش عناصر وب سایت  با استفاده از مدل هاست. حال به توضیح هر بخش می پردازیم:

View : این قسمت مسئول نمایش اطلاعات به کاربر است و دخالتی در پردازش اطلاعات و منطق برنامه ندارد، در حقیقت model ها را تحویل میگیرد و نمایش می دهد،  پس model به چه معناست؟

Model : مدل ها همان داده هایی هستند که قرار است پردازش و نشان داده شوند اما ممکن است صحت داده ها را هم بسنجد.

Controller : این بخش مسئولییت پردازش و کنترل اطلاعات که همان Model ها هستند را بر عهده دارد. در بلوک دیاگرام زیر نقش این سه عنصر را در زمان دریافت اطلاعات از اینترنت مشاهده میکنید.

 

 zeusir.com - MVC - sending

مزیت های MVC :

  • استفاده دوباره از کد های نوشته شده :

استفاده از کد هایی که قبلا نوشته شده اند در تمام شاخه های صنعت نرم افزار( وب ، برنامه نویسی سیستم و...) رایج و توصیه شده است، نمونه بارز آن ها کتابخانه ها هستند زیرا اگر کد های بهینه ای تولید کنیم و بتوانیم در آینده از آن ها استفاده کنیم ، پروژه ای کاملا امن و با باگ های کم خواهیم داشت.به دلیل جدا بودن Model و view و  Controller از یکدیگر، این قایلیت بسیار ملموس است.

 

  • برخورداری از Interface های مختلف :

با استفاده از معماری MVC شما به راحتی می توانید وب سایت خود را برای موبایل ، تبلت ، PC و غیره با حالت های متفاوت نمایش دهید.

 

  • تمرکز بر روی UI :

اگر حوضه کاری شما مربوط به  Front End  و UI  (User Interface) می شود، با استفاده از معماری MVC در گیر مباحث برنامه نویسی و منطق و .. نمیشوید.

 

  • تمرکز بر روی Back End :

به دلیل جدایی View از Model نیازی نیست که برنامه نویسان سمت سرور با UI درگیر شوند.

  • مورد 3 و 4 :

با توجه به دو مورد فوق توسعه نرم افزار به سروعت گروهی با سرعت و لذت بیشتر توام با خطای کمتری همراه خواهد بود.

 

  • Model و View های مختلف:

به دلیل جدا بودن Model  و View از هم میتوان بدون تغییر دادن مدل ها ویو های جدیدی ساخت که این امر محدودیت ها را از بین میبرد.