ورود

View Full Version : سوال: راهنمایی در مورد Mvvm در WPF (چیه ؟ چه میکنه ؟ )



noroozifar
جمعه 24 بهمن 1393, 13:21 عصر
سلام
کسی میتونه کاملا شفاف با یک مثال روش برنامه نویسی mvvm در Wpf را توضیح بده ؟ با تشکر

ali_md110
جمعه 24 بهمن 1393, 23:29 عصر
سلام
mvvm پترنی هست که کدنویسی فرم های شما رو به یک کلاس دیگه انتقال میده و با سیم کشی که از طریق بایندینگ انجام میده کدهای کلاس کدنویسی تون که به view model شهرت دارند به کنترلها و سایر رویدادهای فرم برنامه وصل میکنه و نیازی نیست کدنویسی مستقیم درون Code Behiend فرمتون انجام بدید
ببینید وقتی مثلا :شما برای یک تکست باکس روی یک فرم کد نویسی میکنید یا یک تابع درون کد فرم مینویسید و برنامه شما هم صحیح و کامل کار میکنه اگر یک طراح بخواد فرم شما رو قشنگ تر بکنه مجبور هستید پروژتون رو کامل تحویلش بدید و اون روی فرمهای شما کار بکنه و طراحیش انجام بده حالا اگر شما توی کدهای فرمتون یک سری کد داشته باشید با دستکاری شدن طراحی برنامه مثلا حذف شدن یک دکمه و یا یک کنترل دیگه که شما واسش کد نوشته بودید برنامه خطا پرتاب میکنه
خب اینجا مشخص میشه اگر کدهای فرمتون جدا باشه طراح برنامه کار خودش انجام میده و شما که کدنویسی میکنید کار خودتون در راستای هم جلو میبرید یعنی اینکه فرم برنامه شما فقط طراحی ظاهری انجام میشه روش و از طریق Binding کنترلها به کلاس ViewModel وصل شده و اطلاغات ردو بدل میشه
mvvm فقط Property هست و بس

ali_md110
جمعه 24 بهمن 1393, 23:36 عصر
MVVM به ترتیب
M یعنی مدل
V =یعنی View لایه نمایش
VM میشه VIEW MODEL برنامه یا همون سکان دستور دهی یا هدایت گری برنامه شما
لایه view اطلاعاتش رو از لایه view model دریافت میکنه و view model هم این اطلاعات رو با لایه model پاسگاری میکنه
در واقع mvvm یک روش مناسب برای طراحی جند لایه پرژه های بزرگ تجاری هست و اگر میتونید ووقتش دارید حتما از این پترن خیلی انعطاف پذیر و قوی استفاده کنید اونوقت برنامه نویسی واستون لذت بخش تر یشه

noroozifar
یک شنبه 26 بهمن 1393, 19:11 عصر
ممنونم از توضیحات کامل شما بله من تازه شروع کردم برنامه هام را تحت wpf بنویسم اما بهتره اول چند پروژه ساده بنویسم تا بک مقدار با wpf اشنا بشم بعد برم به پیشرفته آن یک نکته دیگ رایا سایتی هست فیلم های آموزشی خوبی از Blend , WPF داخل ان باشه معرفی کنید ممنون میشوم

ali_md110
دوشنبه 27 بهمن 1393, 01:17 صبح
http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Getting-Started-with-MVVM
https://curah.microsoft.com/282855/how-to-get-started-with-mvvm