asp.net design where front end that can be easily swapped out or changed?
whats a preferred pattern for designing a web application using asp.net where the UI can be easily modified or totally swapped out for another ui?
I dont mean using CSS to change the lipstick on the app, but if i was to use agile development to produce pr开发者_如何学JAVAoof of concepts that i can re-use moving forward with application development... i want to prevent, or limit as much as i can, the possibility that a change in the requirements that makes modifications to the UI will derail the development efforts put in up till then.
i was planing a service bases solution similar to SOA but wanted to vet my idea and check to see if i was missing anything that may suit this project better?
ASP.NET MVC would seem to fit your broad requirements. http://www.asp.net/mvc
A service-based solution will mostly help you if you have a system that is consumed by multiple clients, which need to share common data or functionality. Otherwise, I don't see its benefit to you as it pertains to the question.
You'll probably want to leverage user controls and different classes that resolve different business objectives. Look into separation of concerns design pattern.
I have to disagree with DaveRead (I don't really trust unripe MS technologies, and MVC is still very new and not mature, in my view), and with Kon, in the sense that SOA solution is not just for multiple clients, but in my opinion it's a viable solution to (almost) any application.
but Kon rightly mentioned separation of concerns, which, if implemented correctly, should achieve just what you need.
A good rule of thumb is- when designing / coding your back-end layers, ask yourself: If I made a so-and-so change to the UI- would I have to change my back-end?
the answer, of course, should always be 'No'
good luck.
I am a strong believer in DataBinding. It will allow you to keep the UI separated from the underlying logic and data. Changing the UI or Logic, or Data can be done with a minimum impact in the overall coherence of your website / application.
This image shows how Source and UI elements are seen as two separate blocks, and the Binding is the communication between them.
精彩评论