前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >豆瓣电台WP7客户端 MVVM重构记录之-总结

豆瓣电台WP7客户端 MVVM重构记录之-总结

作者头像
MJ.Zhou
发布2022-05-07 16:18:43
4350
发布2022-05-07 16:18:43
举报
文章被收录于专栏:.NET开发那点事

     经过几个晚上时间的奋斗,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)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档