i have already asked this question on asp.net forum, could not find any satisfactory answer. you can visit it to get more details. http://forums.asp.net/t/1420283.aspx
We have a product which can be configured for each client.
The configuration options are UI and Business Logic.
In the UI they can choose to re-arrange all the controls in a given page any way they want it, we hide controls they dont want to see(because those are as per another clients request).
In business logic its a lot of "Switch/Select Case" branches implementing logic as per each client's settings. (I am wondering if i can chose to plugin an external assembly/dll(project built) at runtime depending on the client, which means common code base will call an external code for each client to handle things as per their need.........or maybe just separate the logic of different clients in their own classes)
Right now the UI is completely built at runtime.....which in my opinion(IMO) is not necessary since once configured the UI remains static for the client(except for enhancements which are very few and far between).
But we want to maintain a single code base for easier maitainenance. (atleast the business logic, I am wondering about having different UI for each client, generated from a common template).
I am sure this must have been hundred times for different products...but i never across one and i cannot find anything on the internet.