PDA

View Full Version : Working with MVVM Light



powerboy2988
چهارشنبه 11 مرداد 1391, 13:20 عصر
سلام

برای طراحی یک برنامه تو ویندوز، از WPF استفاده کردم.. پس از سرچی که کردم، همه واسه کار تو WPF ، برای معماری پروژه، MVVM رو پیشنهاد دادند،

شروع کردم در مورد مطالعه کردن و به MVVM Light رسیدم.. Template اونو واسه VS2010 نصب کردم...
و یک Project جدید ازش ساختم...

حالا مشکلی که دارم.. کار کردن با این معماری ، و مفاهیم اونه...


از دوستان کسی با این معماری کار کرده؟



ممنون از شما

mze666
چهارشنبه 11 مرداد 1391, 13:43 عصر
سلام - من نصب کردم یه خورده هم باهاش کار کردم ولی بعضی جاها به مشکل خوردم و دیگه نتونستم ادامه بدم (مثلا برای باز کردن پنجره افزودن یا ویرایش و ... توی فرم هام یا مثلاً یه کنترل تاریخ درست کردم که امکان Binding نداشت (نتونستم بذارم براش) در نتیجه مجبور بودم از Code Behind مقدارش رو بخونم (که تو MVVM نمیشد)! و یه سری مشکل دیگه). الان شما بگو مشکلت دقیقاً کجاست شاید بتونم کمکتون کنم.


از مسئولین این قسمت WPF هم خواهش میکنم یه آموزش درست و اصولی از MVVM رو قرار بدن. حالا خیلی فرق نمیکنه با کدوم یک از فریمورک های MVVM Light, Prism, Chinch, Caliburn, ... ولی اگر MVVM Light باشه خیلی بهتره چون درکش راحت تره.

powerboy2988
چهارشنبه 11 مرداد 1391, 13:48 عصر
سخت می فهممش...

لایه هایشو میشناسم..

تو فهمیدن کاراش، اصولش، Data Binding واسه Localization و .... مشکل دارم...


در حالی که این کارارو خیلی راحت تو یک معماری 3 لایه که ایجاد کرده بودم انجام می دادم..

hakim22
چهارشنبه 11 مرداد 1391, 16:47 عصر
اصل قضیه همین لایه بندیه کاره ، کارهایی اصلی در Model و با یک ارتباط به ViewModel و اون هم با یک ارتباط به VIew وصل میشه . و View هیچ رابطه ای با Model نداره

hakim22
چهارشنبه 11 مرداد 1391, 16:48 عصر
اگه کسی کتابشو میخواد ( 4 مگابایت به زبان انگلیسی)

http://p30ton.net/posts91/p9105/ProWPFandSilverlightMVVM.rar

homan1374
یک شنبه 15 مرداد 1391, 00:17 صبح
برای نوشتن برنامه بر پایه معماری mvvm..در اصل نیازی به هیچ فریمورکی نیست....فقط لازمه بفهمید کلاس های موجود در این فریم ورکها مثل messenger و relaycommand و.... چه جوری کار میکنن..درک کردن وظایف اینها شاید کمی سخت و وقت گیر باشه ولی باعث میشه درک بهترین از mvvm داشته باشین

Amir Oveisi
یک شنبه 15 مرداد 1391, 08:34 صبح
شدیدا پیشنهاد می کنم که در ابتدا از هیچ فریمورکی برای MVVM استفاده نکنید. بهتره اولش اصولش رو بدون وابستگی به فریمورک های دیگه یاد بگیرید و بعد اگر خواستید برید سراغ فریمورک های موجود.
به این نکته توجه داشته باشید که تکنیک های خیلی زیادی وجود دارند که میشه الگوی MVVM رو پیاده سازی کرد بنابراین وقتی شما با استفاده از یک فریمورک خاصی MVVM رو شروع کنید، بهش وابسته می شید و منطق خود MVVM رو درست متوجه نمی شید.
من سعی می کنم در اولین فرصت یک مقاله برای آموزش MVVM (بدون استفاده از فریمورک خاصی) آماده کنم و در اختیار کاربران قرار بدم. البته تا اون موقع میتونید از برنامه های نمونه ای که لینک هاش تو امضام هست استفاده کنید تا کلیات کار دستتون بیاد.

موفق باشید.

powerboy2988
یک شنبه 15 مرداد 1391, 09:43 صبح
شدیدا پیشنهاد می کنم که در ابتدا از هیچ فریمورکی برای MVVM استفاده نکنید. بهتره اولش اصولش رو بدون وابستگی به فریمورک های دیگه یاد بگیرید و بعد اگر خواستید برید سراغ فریمورک های موجود.
به این نکته توجه داشته باشید که تکنیک های خیلی زیادی وجود دارند که میشه الگوی MVVM رو پیاده سازی کرد بنابراین وقتی شما با استفاده از یک فریمورک خاصی MVVM رو شروع کنید، بهش وابسته می شید و منطق خود MVVM رو درست متوجه نمی شید.
من سعی می کنم در اولین فرصت یک مقاله برای آموزش MVVM (بدون استفاده از فریمورک خاصی) آماده کنم و در اختیار کاربران قرار بدم. البته تا اون موقع میتونید از برنامه های نمونه ای که لینک هاش تو امضام هست استفاده کنید تا کلیات کار دستتون بیاد.

موفق باشید.

دقیقا همین کار رو کردم... واسه اینکه راحت تر باهاش آشنا بشم... همون ساختاری که بالا نشون دادم رو پیاده سازی کردم.. الان یکم تو Binding ها مشکل دارم....

ممنون از راهنماییتون