- مقالات متفرقه
- معماری مدل نما (MVC) چیست؟ برسی 3 بخش مهم این مدل
معماری مدل نما (MVC) چیست؟ برسی 3 بخش مهم این مدل
در دنیای امروزی با توجه به گسترش و همه گیری اینترنت در میان افراد وبسایتهای اینترنتی نیز از تامل بیشتری برخوردار هستند، دارای پویایی بیشتری بوده و کارایی بیشتری دارند. سایتهای امروزی فراتر از صفحات html و css هستند زیرا خدمات و محصولات زیادی را برای افراد فراهم خواهند کرد. با توجه به این عوامل باید نوعی از معماری را برای شما نام ببریم به اسم معماری مدل نما (MVC) که در این مقاله به برسی آن خواهیم پرداخت.
معماری مدل نما به یک روش از معماری تولید نرمافزار گفته میشود که مختص به هیچ زبان برنامه نویسی نیست، در واقع به یک نمونه از معماری قدرتمند، انعطاف پذیر و واضحی گفته میشود برای پیادهسازی برنامهنویسی چند لایه و شی گرا، با استفاده از این مدل شما امکان این را خواهید داشت تا قسمتهای مهم و با ارزش یک برنامه را جدا کنید. تمامی بخشهایی که در این معماری وجود دارد از ویژگیهای خاصی تشکیل شده است و هر کدام از این بخشها به صورت جدا جدا در برگیرنده وظایفی هستند.
معماریی مدل نما (MVC ) برگرفته از عبارت Model View Controller است که به معنی یک الگو است برای طراحی یک معماری نرم افزایی، هدف اصلی آن را باید این گونه بیان کرد که این روش معماری سبب میشود تا عملکرد تمامی عنصر و اجزای را در یک برنامه با توجه به استانداردهایی که از قبل مشخص شدهاند از یکدیگر جدا شده و باعث شود تا تعدادی از افراد بتوانند بدون بروز هیچ مشکلی به صورت همزمان با وبسایت مورد نظر کار کنند. زمانی که شما از MVC در برنامههای خودتان استفاده میکنید سبب خواهد شد تا برنامه مورد نظر به صورت سادهای مورد خطایابی Debug قرار گرفته و توسعه دادن آن برنامه کار راحتی خواهد بود.
فهرست مطالب
Toggleمعماری مدل نما داری چند بخش است
به صورت کلی معماری مدل نما از سه بخش تشکیل شده است که عبارتند از:
۱_ نما (VIEW)
این بخش از معماری مدل نما در واقع به نمای ظاهری و رابط کاربری برنامه گفته میشود و همان چیزی است کاربر که در زمان تعامل با برنامه میتواند آن را مشاهده کند. روش به روز رسانی VIEW از طریق Controller است، ولی در برخی مواقع شاهد این هستیم که این مدل قادر به انجام دادن کار از روش دیگر نیز میباشد.
۲_ کنترل کننده (CONTROLLER)
وظیفه اصلی که کنترل کننده در MVC دنبال میکند این است که ورودیهای کاربران را گرفته و درخواست را به مدل ارسال کند و سپس دادهها را از مدل دریافت و بعد به انجام بروزرسانی در VIEW بپردازد. ورودیهای کاربران میتواند شامل هر چیزی باشد به عنوان مثال در زمانی که یک کاربر بر روی لینک وبسایت کلیک کرده باعث میشود تا یک ورودی به CONTROLLER ارسال شود، یا در مواقعی که یک کاربر اقدام به ثبت یک فرم میکند محتواها و دادههایی که در فرم مورد نظر وجود دارند با درخواستی که پست انجام میدهد به اسم ورودی به قسمت CONTROLLER ارسال خواهند شد.
۳_ پیکر (MODEL)
این بخش وظیفه دارد تا دادهها را بگیرد و آنها را دست کاری کند، این پروسه به این شکل است که با یک بانک اطلاعاتی و یا یک پایگاه داده تعاملی را برقرار میکند، باید مدل را مغز برنامه دانست. SELECT و UPDATE که هر 2 آنها پرس و جویهای پایگاه داده است در مدل انجام خواهند شد. به عنوان مثال CONTROLLER دادههایی را که نیاز دارد با استفاده از مدل از بانک اطلاعاتی درخواست میکند و این دادهها را از این طریق دریافت خواهد کرد. به صورت مستقیم مدل امکان بروزرسانی نما را دارد اما به صورت معمول این اتفاق رخ نمیدهد.
استفاده کردن از معماری مدل نما (MVC) چه مزیتهایی به همراه دارد
- این امکان برای شما وجود خواهد داشت تا دادهها را بر روی هر لایت تست کرده و در صورت درست بودن میتوانید برای لایه بعدی آن را ارسال کنید. با توجه به این قابلیت شما میتوانید به راحتی کدها را دیباگ کنید.
- شما میتوانید به راحتی چند نما را بر روی CONTROLLER وصل کرده و یا این کار را به صورت برعکس انجام دهید.
- با استفاده از معماری مدل نما کار کردن به صورت تیمی کار راحتی است.
- MVC سازگاری بالایی را با قواعد سئو سایت شما خواهد داشت.
- به دلیل اینکه دیگر شما در پیدا کردن کدها دچار سردرگمی نخواهید شد، انجام تغییرات راحت خواهد بود.
- امنیت نرمافزارهای تولید شده از مهمترین مزیتهای معماری مدل نما است، این امر به این خاطر است که کدهای حساس در لایههای متفاوت هستند و این عامل سبب بالا رفتن امنیت خواهد شد.
- زمانی که از MVC در کد نویسی استفاده میکنید سرعت کد نویسی را بالا خواهد برد.
- زمانی که قرار است یک درخواست در میان لایهها جا به جا شود، این امکان برای شما وجود خواهد داشت تا یک به یک بتوانید عملیاتهایی را بر روی آن درخواستها انجام دهید. به عنوان مثال شما میتوانید چک کنید که ارسال کننده درخواست آیا مجوز ارسال درخواست مورد نظر را داشته یا این اجازه را نداشته است، این عامل برای مجوزهای گوناگون و چگونگی سطح بندی کردن کاربران امری مهم و کاربردی محسوب میشود.
سخن پایانی
شاید کارکردن با این معماری مدل نما در ابتدا برای شما کمی پیچیده باشد، اما زمانی که شما قصد دارید که در پروژههای بزرگ برنامهنویسی شرکت کنید میتوانید به راحتی از الگوی MVC در طرحهای خودتان استفاده کنید.