بنام خدا.
سلام دوستان دوست نداشتم الان MVVM رو معرفی کنم ولی شاید بعضیها دوست داشته باشن زود برن WPF رو یاد بگیرن از این رو MVVM رو معرفی کردم که از همون اول طراحی کدهاشونو با پترن جهانی MVVM طراحی کنند تا با برنامه نویسان جهان و مایکروسافت همتراز باشند
.
MVVM برای من لذت بخش ترین بخش WPF هست فقط هم مربوط به کد نویسی و بسیار منظم و زیبا هست.
M-V-VM چیست؟
M-V-VM یا Model-View-ViewModel يكي از الگوهاي محبوب طراحي رابط كاربر در WPF مي باشد كه توسط John Gossman از تيم WPF ايجاد شده است و قدرت خود را مديون توانمند يهاي binding پيشرفته ي WPF است. به كمك آن مي توان View (يا همان قسمتي از برنامه كه كاربر با آن سر و كار دارد) را از كدهاي مرتبط با داده ها و منطق برنامه مجزا ساخت. به اين صورت در يك تيم، افرادي مي توانند بر روي View در Expression Blend كار كرده و همزمان تعدادي ديگر در Visual Studio .NET مشغول تهيه قسمت ViewModel باشند.

شكل ١- نمايي از قرارگيري و نحوه ي تعامل لايه هاي مختلف يك برنامه در الگوي M-V-VM.
روش متداول آموزش و كار با WPF همانند روزهاي WinForms است يا دوران VB6 تمام كنترل هاي بصري.نامگذاري مي شوند. سپس روال هاي رويدادگردان كليك و امثال آن به صورت مستقيم تعريف شده و در code behind صفحه، منطق مرتبط با آن پياده سازي مي شود (در كدهاي View ارجاعات مستقيمي را از Model خواهيم داشت). همچنين اين پياده سازي به همراه استفاده مستقيم از نام اشياء و كنترل هايي است كه در View تعريف شده ان.
حاصل اين عمليات متداول، گره خوردگي كدهاي صفحه با View است كه امكان نوشتن آزمو نهاي واحد آن را به صفر مي رساند. همچنين از امكانات پيشرفته ي WPF مانند انقياد دوطرفه (two way binding) بسياري موارد ديگر نيز استفاده نخواهد شد. به علاوه با توجه به استفاده ي مستقيم از نام كنترل هاي بصري در code behind تغيير يا جايگزيني يك كنترل نياز به تغييرات وسيعي در كدهاي ما خواهد داشت. براي رفع اين مشكلات، الگوي M-V-VM ارائه شده است كه توسط خود مايكروسافت جهت بهره گيري از تمامي امكانات WPF ابداع گرديده و در تهيه ي محصولات مهم آن شركت مانند Microsoft Expression Blend نيز بكار گرفته شده است.
در فایل PDF زیر MVVM شامل 5 فصل توسط جناب آقای وحید نصیری توضیح داده شده:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
یا علی
.