<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>DM-V-VM part 6: Revisiting the data model</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx</link><description>Sorry it's taking me so long to get the posts out. The series turned out to be a little longer than I anticipated :-) I got a lot of good feedback on the Data Model stuff. First off, I want to mention layering. The DataModel typically is a layer on top</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: DM-V-VM part 6: Revisiting the data model</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#730781</link><pubDate>Wed, 30 Aug 2006 02:35:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:730781</guid><dc:creator>AleXFlint</dc:creator><description>Hi Dan!&lt;br&gt;&lt;br&gt;very great series! I'm really impressed, thats really tricky!&lt;br&gt;&lt;br&gt;I'm going &amp;nbsp;to try implementing this pattren for 3DObjects(MV3D). I know 3DObjects are not FrameWorkElements or UIElements, but I think not all but some of concepts of this pattern could be very usefull to implement binding between a 3DObject and a DataModel (to get the position in 3D space for example could be a possible Data from DataModel). Thanks a lot for great work! Waiting for next/last couples of posts...&lt;br&gt;&lt;br&gt;PS: your session at deep dive was very cool! Thanks.</description></item><item><title>re: DM-V-VM part 6: Revisiting the data model</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#752520</link><pubDate>Wed, 13 Sep 2006 21:49:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:752520</guid><dc:creator>Bryant Likes</dc:creator><description>How about posting those last couple of posts to wrap this up? :)</description></item><item><title>re: DM-V-VM part 6: Revisiting the data model</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#754234</link><pubDate>Thu, 14 Sep 2006 19:31:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:754234</guid><dc:creator>AleXFlint</dc:creator><description>Oh, Yes, I'm waiting for that too. I hope it comes soon :). Let's wrap it up.....</description></item><item><title>re: DM-V-VM part 6: Revisiting the data model</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#754262</link><pubDate>Thu, 14 Sep 2006 19:38:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:754262</guid><dc:creator>dancre</dc:creator><description>Sorry, I'll get to it this weekend at the latest!</description></item><item><title>DM-M-VM part 7: Encapsulating commands</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#756098</link><pubDate>Fri, 15 Sep 2006 18:56:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:756098</guid><dc:creator>Dan Crevier's Blog</dc:creator><description>In part 5, I talked about commands and how they are used for behavior. Now, I want to talk about a better...</description></item><item><title>re: DM-V-VM part 6: Revisiting the data model</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#761585</link><pubDate>Tue, 19 Sep 2006 08:51:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:761585</guid><dc:creator>Paul</dc:creator><description>Hi Dan,&lt;br&gt;&lt;br&gt;Thanks a lot! I'm looking forward for other posts.&lt;br&gt;&lt;br&gt;One question came to my mind while reading DM-M-VM series:&lt;br&gt;Why don't you use async bindings for fetching data in background?&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;paul</description></item><item><title>re: DM-V-VM part 6: Revisiting the data model</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#762815</link><pubDate>Wed, 20 Sep 2006 02:34:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:762815</guid><dc:creator>dancre</dc:creator><description>There are a few things that steer me away from asynchronous data binding. The first is that the property getters will now be callable by multiple threads, and that makes the threading model for the object much more complicated. Second, I think it would be surprising that some properties could hang indefinitely, but others wouldn't. As a consumer of the class, how would you know what's safe to call? And, finally, you get more control if you do it yourself. With asynchronous binding, WPF creates the thread for you, but with this mechanism you have more control over scheduling updates and such.</description></item><item><title>re: DM-V-VM part 6: Revisiting the data model</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#763231</link><pubDate>Wed, 20 Sep 2006 10:00:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:763231</guid><dc:creator>Scott Bussinger</dc:creator><description>Great series! Thanks for the efforts!&lt;br&gt;&lt;br&gt;In reviewing all of the parts of this series tonight, the statement &amp;quot;we ended up adding a reference counting to our models&amp;quot; got me curious. You obviously weren't happy about having to do it, so what exactly motivated you to implement reference counting in Max?</description></item><item><title>re: DM-V-VM part 6: Revisiting the data model</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#763676</link><pubDate>Wed, 20 Sep 2006 15:57:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:763676</guid><dc:creator>Paul</dc:creator><description>Thanks for reply, Dan!&lt;br&gt;&lt;br&gt;I see your point. &lt;br&gt;Actually, I guessed a reason behind your solution, just, you know, it seemed curious: you hadn't mentioned async bindings at all in your articles.&lt;br&gt;&lt;br&gt;Now it's clear,&lt;br&gt;Thanks&lt;br&gt;&lt;br&gt;paul&lt;br&gt; </description></item><item><title>re: DM-V-VM part 6: Revisiting the data model</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#763799</link><pubDate>Wed, 20 Sep 2006 18:09:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:763799</guid><dc:creator>dancre</dc:creator><description>The activation model I presented here works fine if there is only one &amp;quot;owner&amp;quot; that ever activates the model. But, as soon as multiple things want to activate the same model, you need the reference counting. As a simple example, what if you wanted to show the same model in two places in the UI?</description></item><item><title>WPF Patterns</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#774339</link><pubDate>Wed, 27 Sep 2006 23:31:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:774339</guid><dc:creator>Bryant Likes's Blog</dc:creator><description>If you're doing WPF development, you really need to check out Dan Crevier 's series on DataModel-View-ViewModel.</description></item><item><title>DM-V-VM part 7: Encapsulating commands</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#818053</link><pubDate>Thu, 12 Oct 2006 04:59:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:818053</guid><dc:creator>Dan Crevier's Blog</dc:creator><description>&lt;p&gt;In part 5 , I talked about commands and how they are used for behavior. Now, I want to talk about a better&lt;/p&gt;
</description></item><item><title>DataModel-View-ViewModel pattern series</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#818060</link><pubDate>Thu, 12 Oct 2006 05:00:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:818060</guid><dc:creator>Dan Crevier's Blog</dc:creator><description>&lt;p&gt;I thought I should add a post with the full list of posts in the D-V-VM pattern. They are: DataModel-View-ViewModel&lt;/p&gt;</description></item><item><title>re: DM-V-VM part 6: Revisiting the data model</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#877194</link><pubDate>Thu, 26 Oct 2006 21:56:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:877194</guid><dc:creator>corbin</dc:creator><description>&lt;p&gt;This is just a little thing but when you call Activate() you immediately call your DataModel's VerifyCalledOnUIThread(); then you set the property using this.IsActive = true which then immediately calls VerifyCalledOnUIThread(); is this an oversight or am I not getting something...seems like these VerifyCalledOnUIThread methods should only ever be called when you are changing properties. &amp;nbsp;Unless you method directly manipulates the member data itself.&lt;/p&gt;</description></item><item><title>re: DM-V-VM part 6: Revisiting the data model</title><link>http://blogs.msdn.com/dancre/archive/2006/08/25/dm-v-vm-part-6-revisiting-the-data-model.aspx#877253</link><pubDate>Thu, 26 Oct 2006 22:55:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:877253</guid><dc:creator>dancre</dc:creator><description>&lt;p&gt;I agree it's overkill since the IsActive's setter also checks, but I think it's nice to have it explicitly there.&lt;/p&gt;
</description></item></channel></rss>