جوابی
شفاف و ساده برای mvc چیست فرض
کنیم که از mvc برای طراحی یک وبسایت می خواهیم استفاده کنیم:
یک
تارنما یک خصوصی صفحه ها دارد که همان view ها در این معماری است یک وبسایت دیتابیس دارد، در معماری mvc یک وب سایت علاوه بر دیتابیس نیاز به یک محرمانه مدل (کلاس) دارد که می تواند دقیقا مطابق با دیتابیس شما باشد و اطلاعات از دیتابیس به نوع می آید .
یک سایت منطقی دارد که در آن می گوید که مثلا در برگه کلیدی ۱۰ تا از آخری پست ها را بر پایه تاریخ انتشار آنها نمایش بده، این منطق در کنترلر (controller) متن می شود .
در کنترلر داده ها را مطابق با گونه (model) از دیتابیس گرفته می شود و برای view نبی می شود بنابر این در این الگو منطق برنامه به طور کامل از view انقطاع می شود و این امر باعث می شود که کار توسعه پروژه دوچندان آسان خیس شو (رسانه آموزشی لیموناد, از معماری mvc سود مند است) جوابی
فنی تر و تخصصی تر برای mvc چیست mvc چه میباشد ؟ mvc مخفف لغت ها Model View Controller می باشد . در واقع MVC یک الگوی پباده سازی (design pattern) جهت جداسازی قسمت های متفاوت برنامه میباشد . هر یک از بخش های معماری MVC یعنی Model و View و controller را به شکل ذیل توصیف می کنیم .
۱ .
Model در mvc مدل ها به عبارتی کلاس های برنامه میباشند که مشابه به دیتابیس میباشند ولی می توانند متفاوت و بخش اعظم باشند . همینطور Model وظیفه تایید داده ها را برعهده دارد تا داده ها صحیح داخل آنها قرار بگیرد و برای دیتابیس ارسال شود .
۲ .
View این بخش داده ها را به استفاده کننده نشان می دهد، ویو کاری به منطق برنامه ندارد و فقط یک model دریافت می نماید و آن را به هر شکلی که نیاز باشد به کاربر نشان می دهد، این model نیز بوسیله کنترلر ایجاد شده می باشد و برای view رسال گردیده هست . نکته مهمی که در بخش View بایستی مد نظر داشت این میباشد که این بخش مسئول در دست گرفتن درستی داده های وارد گردیده از روش کاربر و همینطور مسئول درستی داده های نشان داده شده به کاربر نمیباشد . در واقع این بخش با داده های خام فعالیت میکند و مسولیت صدق داده با model میباشد .
۳ .
Controller این
بخش همانگونه که از نام آن مشخص و معلوم است، یک بخش کنترل کننده است، بی آلایش بیان کنم controller اکثر مواقع دو نوع عمل می نماید :
controller داده ها را از دیتابیس در قالب model هایی می گیرد و آنگاه پردازش خود را روی آن انجام می دهد و اطلاعات را در قالب model جدیدی به view می فرستد تا ویو هر طور خواست این اطلاعات را به کاربر نشان دهد .مثل فرض فرمایید که ما برای ورقه پروفایل یک view برای تلفن همراه داریم و یک view برای ویندوز، حال کنترولر بنا به تشخیص که کاربر با گوشی هست یا نه یک view را انتخاب می کند تا برای استفاده کننده ارسال شود و می بینید که یک اطلاعات معلوم در دو view متعدد ظواهر می شود و view (ظاهر) از منطق برنامه انقطاع می باشد .
controller اطلاعات را از مدلی که از view برای وی ارسال کرده است دریافت می نماید و پس انجام اقداماتی آن را در دیتابیس ذخیره می نماید و view دیگری را به استفاده کننده می فرستد تا ببیند .
مزیت
های به کارگیری از معماری mvc در شرای تا امروز نمی دانستید که mvc چه است پس احتمال دارد متوجه عارضه ها برتری mvc نمی شوید این امری عادی هست پس به طرف آغاز کار با mvc بروید و مطمئن باشید که مزیت های زیادی دارااست .
(آموزش asp mvc در تحت صفحه) آنگاه از یه خرده تجربه درصورتیکه کنجکاو بودید برگردید و مزیت های mvc را بخوانید .
مزیت
های معماری یا این که سر مشق mvc:
استفاده دوباره از کد که در مهندسی نرم افزار دوچندان اساسی است، به ادله انقطاع بودن این سه نصیب از نیز این قابلیت و امکان به خیر و خوبی در این معماری قابل لمس میباشد .
به عبارتی طور که در بالا توضیح داده شد ، به آسانی می بضاعت و توان یکسری interface داشت . یعنی شما می توانید چندین view مختلف داشته باشید و به سادگی از آنها استفاده نمائید .
کسی که ui فعالیت میباشد می تواند تماما به ظواهر و ui اعتنا کند و به مساله منطق یا این که باگ های برنامه کاری نداشته باشد .
افرادی که عمل منطق برنامه را پیدا می نمایند می توانند فقط به فعالیت خود اعتنا داشته باشند و به ظواهر برگه ها کاری نداشته باشند .
بنابر این عمل تیمی بروی یک پروژه به نیکی با mvc انجام می شود .
به عامل انقطاع بودن view از model به آسانی می توانایی view بیش تر کرد بدون این که model تغییری کند .