معماری MVVM در مهندسی نرم افزار
معماری MVVM در مهندسی نرم افزار
معماری نرم افزا چیست؟
در معماری نرم افزار به ساختار اجزای سیستم نرم افزاری پرداخته می شود و به روش های ارتباط و تعامل اجزای مختلف در نرم افزار با یکدیگر و قوانین و محدودیت های ارتباطی معماری نرم افزار که زیر ساخت یک نرم افزار را
تشکیل میدهند معماری نرم افزار گفته می شود.
معماری مدل ویو-ویو مدل Model-View-View-Model یا MVVM
معماری MVVM یا ( Model-View-View Model ) یک الگوی معماری است که در مهندسی نرم افزار و تکنولوژی های برنامه نویسی شرکت مایکروسافت استفاده می شود و به عنوان الگوی طراحی مدل ، توسط مارتین فاولر معرفی شده است ، معماری MVVM تا حدی شبیه معماری MVC و یا ( Model-View-Controller) است که از شناخت کلی تری نسبت به MVVM بر خوردار است.
هدف از ایجاد MVVM
MVVM به صورت هدفمند و برای توسعه پلتفرم رابط کاربری ( UI ) حرفه ای که از برنامه نویسی رویداد محور ( Event -Driven Programing) پشتیبانی می کنند به وجود آمده است از جمله برنامه هایی که از برنامه نویسی رویداد محور استفاده می کنند می توان به HTML5 ، WPF( Windows Presentation Foundation )، Silver Light و ZK Framework اشاره کرد.
جدایی لایه ها در MVVM
MVVM امکانات بی نظیری را برای جدا سازی لایه Graphic User Interface ( GUI ) و لایه Business Logic و یا کد های منطقی پشت مدل در اختیار شما قرار می دهد همچنین به عنوان یک Data Model تمیز و انعطاف پذیر از View
Model شناخته می شود.
ViewModel چیست؟
View Model در MVVM یک Convertor و یا یک تبدیلگر با ارزش است به این معنا که کار را برای آن دسته از برنامه نویسانی که خواستار مدیریت اطلاعات آبجکت به شکلی ساده هستند مناسب کرده است.
در حقیقت View Model لایه ای بین لایه Model و View است.
View Model همچنین ممکن است به عنوان یک الگوی میانجی که کارش سازمان دهی کردن اطلاعات User Case هایی است که در کد های منطقی به کار رفته اند و در یک View پشتیبانی می شوند به کار رود.
جذابیت های MVVM
MVVM به راستی برای استفاده از متد های data binding در WPF برای در اختیار قرار دادن امکاناتی برای جداسازی بین لایه View و ایزوله کردن آن از لایه View Model طراحی شده است ، این جداسازی یکی از جذابیت های بالای آن برای برنامه نویسانی است که می خواهند زمان خود را بر روی لایه View صرف نکنند و وقت بیشتری را برای توسعه لایه های Business صرف کنند، این ویژگی باعث بالا رفتن بهره وری دربرنامه خواهد شد و برنامه هایی سودمند را پدید خواهد آورد.
هر گونه کپی برداری از این مطلب تنها با درج لینک این صفحه به عنوان منبع از وبلاگ دی تلکام بلامانع است
مطالب مرتبط:
هاست MVC ASP.net کپچا با ASP.net MVC CodeFirst در WCF نکته های فری لنسری یا دورکاری موارد مهم در طراحی سایت URL Mapping
ممنون از این مقاله کاربردی