title: MVC with WCF service design
body: <p>Being new to MVC, and WCF (somewhat), I'd like to ask a design question. I have an MVC application, with a simple screen. I need to call a WCF service, which returns a reply object type. To separate the WCF calls from my MVC app, I have created a <code>ServiceProxy</code> dll, which exposes a method called <code>RegisterWithService</code>, passing it an IP address.</p>
  
  <p>So, MVC app, calls </p>
  
  <pre><code>ServiceProxy.RegisterWithService(xxx.xxx.xxx.xxx);
  </code></pre>
  
  <p>The method then creates a <code>RegistrationRequest</code> object, and sends that to the WCF service. The reply (a <code>RegisterResponce</code> object) replies with an object. </p>
  
  <p>My question is, is it OK to pass that object back to the MVC controller to deal with, or should I create some form of DTO... so that the <code>ServiceProxy</code> creates a new object type (maybe, <code>RegistrationDTO</code>, which has the same fields as the WCF reply object, and passes that back to the MVC app? That, I guess, makes the MVC non-reliant on the WCF objects... so a change in the service contract would only cause a change in the proxy class I created - leaving the MVC app segregated.</p>
  
  <p>Does that seem like a good design?</p>