title: Silverlight Model mapping and Repository pattern question
body: <p>First of all sorry my bad English!
  I see in many Silverlight tutorials the following:</p>
  
  <p>We have models on the server side for example Product. The webservice has a method for example Ilist GetProducts();
  On the client side Product class generated when we add service reference. Then we will use this Product model in viewmodels and xaml.
  But what happen if anybody make changes on the server side or the Product modell change for example „Name” property will be „NameProperty” or anybody try to change the webservice to an other. The Product proxy class will also change  on the client side, then We have to „refresh” viewmodels and bindings etc, which use the Product class.</p>
  
  <p>What about this solution?:</p>
  
  <p>On the Silverlight side I have an IProduct interface, which contains all property that the viewmodels and xaml will use.
  I make an IRepository interface which has an IList GetProducts() method. I implement this interface for example WCFRepository which get data from a wcf service. The implementation of GetProduct method will map all Products to an implementation of IProduct, just copy the properties to the implementation of IProduct. So when the Product on the server side change I only have to change the mapping on the WCFRepository. Or if I change the WCF service to an other service I only have to write OtherRepository and write mapping in the implementation of the GetProducts method. 
  In this solution the view and viewmodels not change!</p>
  
  <p>What about my solution? I am going to the right direction? Is there any good sample, tutorial, pattern about this? Any keyword will be good! :) Thanks!</p>