How to structure a project that supports multiple versions of a service?

Posted by Nick Canzoneri on Programmers See other posts from Programmers or by Nick Canzoneri
Published on 2011-02-03T21:50:24Z Indexed on 2011/02/03 23:34 UTC
Read the original article Hit count: 333

I'm hoping for some tips on creating a project (ASP.NET MVC, but I guess it doesn't really matter) against multiples versions of a service (in this case, actually multiple sets of WCF services).

Right now, the web app uses only some of the services, but the eventual goal would be to use the features of all of the services. The code used to implement a service feature would likely be very similar between versions in most cases (but, of course, everything varies).

So, how would you structure a project like this?

Separate source control branches for each different version? Kind of shying away from this because I don't feel like branch merging should be something that we're going to be doing really often.

Different project/solution files in the same branch? Could link the same shared projects easily

Build some type of abstraction layer on top of the services, so that no matter what service is being used, it is the same to the web application?

© Programmers or respective owner

Related posts about best-practices

Related posts about asp.net-mvc