איך מממשים MVVM ? זה הרבה יותר פשוט ממה שחושבים.

יום שישי, פברואר 4, 2011

לממש MVVM הרבה יותר קל ממה שנשמע. משום מה יצא לDesign Pattern הזה שם של Design Pattern מורכב, ולפי דעתי זו סתם חוסר הבנה. הDesign Pattern במהותו פשוט עד טריוויאלי. בפוסט הקודם דיברתי על הסיבות לממש MVVM, ועל הפואנטה שעומדת מאחורי הDesignPattern הזה. העליתי גם שאלה – מה גורם להפרדה של XAML ו Code Behind לא להוות הפרדה מספיק טובה. אז האמת שההפרדה של XAML ו CodeBehind כבר לא ממש רעה, רק שהבעיה היא שהם לא ממש מופרדים – הם למעשה מהווים ביחד מחלקה אחת, ולכן שינויים באחד מהם לעיתים מאוד קרובות "ישברו" את השני. (ה Coupling...
11 תגובות

Adapting Silverlight Navigation to MVVM

יום שלישי, ינואר 25, 2011

  Adapting Silverlight Navigation to MVVM The Navigation feature in Silverlight is pretty awesome. It adds support for two very critical issues: 1. Real web-compliancy (Browser Address changes, which adds support for: SEO, Deep Linking, Browser Journal) 2. View-Switching navigation (switching views easily to solve the ever-lasting navigation problem) It’s important to notice that these two issues are actually completely different problems, which for some reason were bundled together! Many times you would want to switch views in different scenarios, but you might not want to change the Url, and even more often...

מה הפואנטה של MVVM ?

יום רביעי, ינואר 19, 2011

למה אני צריך את זה בכלל?! השאלה איך לממש MVVM זו בפירוש לא השאלה הראשונה שאנו צריכים לשאול את עצמינו לפני שאנו נגשים למימוש של ארכיטקטורה או Design Pattern חדש. השאלה היא למה. התיעוד של פריזם מספקת דוגמא מאוד טובה לבעייתיות שאליה אני מתכוון... - רוב רובו של התיעוד בנוי כך - בשביל לממש A יש לבצע B, בשביל לממש C יש לבצע D.. בהרבה מאוד מקומות שמתמשים בפריזם נופלים ללא מעט טעויות בגלל שאת השאלה הבסיסית, למה, שוכחים טיפה לשאול. (וזה חבל היות וסה"כ פריזם היא לא פריימוורק רע.. פשוט משתמשים בו מאוד רע ברוב המקרים) הרעיון שלי בסדרת הפוסטים הבאים...
9 תגובות

דוגמת קוד לMVVM בסילברלייט, פלוס דמו חי

יום רביעי, אוגוסט 4, 2010

כמו שהבטחתי דוגמת קוד גם לסילברלייט. הקוד כמעט ב100% מתאים לשתי הפלטפורמות. ההבדל הכי משמעותי הוא שבסילברלייט אין {x:Static }, אבל זה בהחלט לא קריטי.. והקוד:

קוד דוגמא להרצאת MVVM באינטל

יום שלישי, אוגוסט 3, 2010

מצורף הקוד שהראיתי בהרצאה על MVVM פלוס כמה דברים שלא הספקתי להראות, כדוגמת שליחת מסרים בין חלקים שונים באפליקציה, ע"י שימוש במסנג'ר של MVVMLight. הקוד הוא של WPF אך הוא למעשה מתאים ל סילברלייט אחד לאחד. מאוחר יותר אעלה גרסה גם לסילברלייט. הקוד המצורף מכסה: 1. יצירת ViewModel ו Views כפי שצריך תחת הארכיטקטורה 2. מימוש DataBinding ו Commands (RelayCommand) בשביל לתקשר בין הView ל ViewModel 3. שליחת מסרים ע"י Messenger 4. עבודה עם Behaviors על מנת להרים Command באירוע TextChanged של TextBox 5. עבודה עם VSM בשביל לתת מראה גראפי יפה עם מעברי אנימציה. 6. יצירת ViewModelLocator...