How to structure a project that supports multiple versions of a service?
- by Nick Canzoneri
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?