豆瓣電台WP7用戶端 MVVM重構記錄之-總結

來源:互聯網
上載者:User

     經過幾個晚上時間的奮鬥,dbfm7的MVVM改造之旅終於告一段落。從對MVVM的無知到現在對它的半隻半解,這個過程還是學到了很多。

     MVVM的目的在於使開發分離關注點,寫後台邏輯的就寫後台,設計UI的就設計UI。不過要達成這一點並不那麼容易,比如導航,比如動畫(StoryBoard),這些在ViewModel中都不是那麼容易控制的,或者說一旦在VM中控制,那麼就破壞了MVVM的初衷。上面這兩個問題我都是使用MVVM Light的Message機制來處理的,雖然看起來解耦了,但是還是不夠徹底。特別是ViewModel通知View去操作StoryBoard這種情況,雖然從代碼層面來看分離了,但是沒有分離關注點,ViewModel 還是在關注View。我還沒想到更好的解決辦法,我是想,要是能做到某個綁定屬性(Image的Uri)發生變化的時候,View自動觸發一個動畫(右邊飛入),這樣就完美了。也許可行,哪位大俠指點下。

     現在的ViewModel比當初的CodeBehind,沒有了業務夾雜UI的操作,真是清爽的了很多。當然CodeBehind並不是一行代碼都沒有。CodeBehind本來就是View的一部分,有些在XAML裡面不能定義的複製UI操作,完全可以放在這裡。另外MVVM Light真的很好用,使你的MVVM開發簡單,優雅了不少!

最新代碼請到codeplex下載:http://dbfm7.codeplex.com/SourceControl/list/changesets

剛剛改完,還沒好好測試,bug在所難免,發現請告訴我。

以下是改造過程的記錄,希望對初學MVVM的同學協助。

豆瓣電台WP7用戶端 MVVM重構記錄之使用MVVM Light實現資料繫結

豆瓣電台WP7用戶端 MVVM重構記錄之使用MVVM Light實現Event綁定

豆瓣電台WP7用戶端 MVVM重構記錄之使用MVVM Light的Message實現導航

豆瓣電台WP7用戶端 MVVM重構記錄之使用AppBarUtils使ApplicationBarIconButton支援綁定(包括IconUri)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.