مدل نما کنترل گر

دانشنامه عمومی

در مهندسی نرم افزار، مدل - نما - کنترل گر یا ام وی سی ( Model–view–controller - MVC ) به یک الگوی معماری نرم افزار گفته می شود.
الگوی ساختاری ام وی سی به جداسازی داده های کاربرد[ ۱] ( از جملهٔ محتویات بخش مدل[ ۲] ) از مؤلفه های ارائه شده به صورت گرافیکی ( بخش نما[ ۳] ) و منطق مربوط به پردازش ورودی ها ( بخش کنترل گر[ ۴] ) اقدام می نماید. [ ۵]
هدف الگوی ساختاری ام وی سی صرفاً یکپارچگی در ساختار نرم افزار است و به کمک آن بدست گیری نرم افزار در راستای مدیریت و گسترش به سادگی انجام می گیرد.
در یکی از بینش های ابتدایی در ابتدای گسترش و پیشرفت واسط گرافیکی کاربر MVC به عنوان یکی از راه حل ها و بکارگیری ساختار نرم افزاری به عنوان یک وظیفه انتخاب شد. Trygve Reenskaug در حین ملاقات زروکس ( مرکز تحقیقاتی پالو آلتو ) در ۱۹۷۰ , MVC را در Smalltalk - 76 معرفی کرد. در سال ۱۹۸۰ جیم اتوف و چند نفر دیگر یک ورژن از MVC را برای کتابخانهٔ کلاس Smalltalk - 80 معرفی کردند و بعداً در سال ۱۹۸۸ در جورنال ابجکت تکنولوژی MVC را به عنوان یک مفهوم کلی معرفی کرد. MVC به طور پیوسته در حال پیشرفت بوده و موضوع های گوناگونی مانند hierarchical model - view - controller ( JMVC ) و model - view - adapter ( MVA ) و model - view - presenter ( MVP ) و model - view - viewmodel ( MVVM ) و MVCهای تطبیق داده شدهٔ دیگری را در موضوع های مختلف ایجاد کرده. استفاده از MVC در وب اپلیکیشن ها بعد از معرفی وب ابجکت ها ی apple که در واقع با Objective - C که عمدتاً از Smalltalk گرفته شده بود نوشته شده بود در سال ۱۹۹۶ به صورت انفجاری افزایش یافت و به قوی تر شدن اصول MVCکمک کرد. بعداً روند MVC توسط توسعه دهندگان جاوا معروف شد وقتی وب ابجکت ها به جاوا مربوط شدند. فریم وورک های بعدی جاوا مانند Spring ( در اکتبر ۲۰۰۲ منتشر شد ) رابطهٔ جوا و MVC را قوی تر کرد. معرفی فریم وورک ها Django ( ژوئیه ۲۰۰۵ برای پایتون ) و Rails ( دسامبر ۲۰۰۵ برای روبی ) هر دو تأکید روی نظم دادن سریع داشتند و شهرت MVC را در خارج از محیط سنتی افزایش داد. در حال حاضر MVC frameworkها سهم بزرگی از بازار را که مرتبط با non MVC Tollkit هست را دارد.
گرچه ام وی سی گونه های بسیار دارد، کنترل جریان عموماً به صورت زیر است:
• کاربر به نوعی با میانجی کاربردی در اندر کنش است ( برای مثال با فشردن دکمه ماوس ) .
• کنترل گر رویداد وارده از میانجی کاربردی را معمولاً از طریق یک کنترل گر رویداد ثبت شده یا callback کنترل می کند و رویداد را به یک عمل مناسب کاربری قابل فهم برای مدل تبدیل می کند.
• کنترل گر، مدل عمل کاربری را اعلام می کند که احتمال دارد منجر به تغییری در وضعیت مدل شود. ( برای مثال کنترل گر، سبد خرید کاربر را به روز می رساند ) .
• یک نما، از مدل به منظور تولید یک واسط کاربری مناسب پرس و جو می کند. نما داده خودش را از مدل می گیرد. در برخی پیاده سازی ها کنترل گر ممکن است دستورالعملی عمومی به نما بدهد تا خودش را بارگذاری کند. در سایر پیاده سازی ها نما به طور خودکار توسط مدل از تغییرات در ناظر وضعیت مطلع می شود که نیازمند به روزرسانی صفحه است.
• واسط کاربری منتظر کنش کاربردی بیشتری می ماند که چرخه کنترل جریان را از نو آغاز می کند.
عکس مدل نما کنترل گر
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلف

پیشنهاد کاربران

بپرس