mvc در طراحی سایت چیست؟
mvc در طراحی سایت
mvc در طراحی سایت مخفف کلمات Model View Controller هست . در واقع MVC یک الگوی طراحی (design pattern) جهت جداسازی قسمت های مختلف برنامه نویسی است. هر یک از بخش های معماری MVC یعنی Model و View و controller را به شکل زیر تعریف می کنیم.
۱. Model
Model همان کلاس های برنامه نویسی شبیه به دیتابیس هستند که می توانند متفاوت و بیشتر باشند. Model در mvc وظیفه تایید داده ها را برعهده دارد تا اطلاعات درست درون آنها قرار بگیرد و برای دیتابیس ارسال شود.
۲. View
view اطلاعات را به کاربر نشان می دهد. این بخش کاری به منطق برنامه نویسی ندارد . view فقط یک model را دریافت کرده و آن را به هر شکلی که نیاز باشد به کاربر نشان می دهد. خروجی ها نیز توسط کنترلر ایجاد شده و برای view ارسال می گردد.
توجه : view مسئول کنترل صحت داده های ورودی از طریق کاربر و همچنین مسئول صحت داده های نشان داده شده (خروجی) به کاربر نیست .
۳. Controller
همانگونه در فوق به آن اشاره شد و از اسم آن نیز مشخص است، controller بخش کنترل کننده و مغز برنامه می باشد و controller معمولا دو وظیفه دارد :
- controller اطلاعات را از دیتابیس در قالب مدل هایی می گیرد. و بعد پردازش خود را روی آن انجام می دهد. و اطلاعات را در قالب model جدیدی به view می فرستد تا view اطلاعات را به کاربر نشان دهد.
- controller اطلاعات را از مدلی که از view برای او ارسال شده دریافت می کند. و پس انجام اقداماتی آن را در دیتابیس ذخیره می کند ومدلی دیگر برای view می فرستد تا کاربر آن را ببیند.
مزیت های معماری MVC
اگر تا امروز نمی دانستید که mvc چیست پس احتمالا دلایل برتری آن را نمی دانید. این امری عادی است ! کار با mvc را شروع کنید و مطمئن باشید که مزیت های زیادی دارد از جمله :
- استفاده مجدد از کد که در برنامه نویسی امری بسیار مهم است. به دلیل جدا بودن سه قسمت در معماری MVC این قابلیت به خوبی قابل لمس و درک است.
- به سادگی می توان چندین خروجی داشت. یعنی شما می توانید چندین view مختلف داشته باشید. و در جاهای مورد نیاز از آن ها استفاده کنید.
- کار تیمی بروی یک پروژه به خوبی با mvc انجام می شود. یعنی کسی که مسئول ظاهر سایت می باشد به موارد دیگر از جمله منطق و برنامه نویسی سایت ارتباط نداشته و تمرکز کامل بر روی کار مرتبط به خود دارد. (و برعکس)
- به دلیل جدا بودن view از model به سادگی می توان view اضافه کرد بدون این که model تغییری کند.
معایب استفاده از mvc
در واقعیت عیبی نمی توان برای این مدل بیان نمود. فقط می توان گفت اولین بار درک mvc و کار کردن با آن سخت است. و بدون آن پروژه های خیلی کوچک سریع تر و راحتر انجام می پذیرند. ولی اگر پروژه نیاز به کار تیمی داشته باشد ، و توسعه آینده آن مهم باشد دیگر استفاده نکردن از mvc غیر عقلانی است.
فریم ورک هایی که بر پایه mvc هستند !
برای زبان های برنامه نویسی مختلف فریم ورک هایی وجود دارند که از این معماری استفاده می کنند. که در زیر به آن ها اشاره کردیم . در میان فریم ورک های زیر نام هایی را مشاهده می کنید که این روز ها بسیار معروف شده اند. و توسعه دهندگان وب سایت آنها را پیشنهاد می کنند. این خود دلیل دیگری برای اثبات خوب بودن معماری mvc در طراحی سایت است.
- امروزه asp.net دیگر کنار رفته و asp.net mvc جایگزین آن شده. که در آن با معماری mvc کدهای c# را نوشته و از توسعه وب لذت می برند. Entity Framework جزو جدا ناپذیر در برنامه نویسی asp.net mvc است. و c# نویسان معمولا از این فریم ورک برای برنامه نویسی MVC استفاده می کنند.
- در php به دلیل متن باز بودن فریم ورک های mvc زیادی وجود دارد. که در میان آنها laravel در ایران معروف بوده و محبوبیت بیشتری دارد.
- python هم فریم ورک های معروفی برای نوشتن وب سایت با معماری mvc دارد. که django و Pyramid دو نمونه از آنهاست.
- در javascript فریم ورک (angularjs) که توسط گوگل توسعه داده شده است.این فریم ورک بخوبی معماری MVC را در سطح client پیاده سازی می کند. که باعث ساده تر شدن توسعه و خطایابی برنامه های تحت وب می شود.
1397/11/01
5087 بار