From last one week i was searching for most suitable architecture for a new web application. To be honest i did web development for only 1 year (back in 2007). And from last four years i am working in C++. Now, suddenly i am assigned a task to search for best architecture for a new web application. During my search i cam across following 3 options:
- Model View Controller
- Model view Presenter
- 3 Tier Archi (Presentation layer <--> BLL <--> DAL)
What we are going to Develop
We are targeting towards the development of a social web application like facebook, twitter etc. Once we have launched the web version then we move towards the mobile edition of same application
What we will use
We will use ASP.net and C# under framework 4.0
Why I Post Question?
To be honest, i don't have experience either in web development or mobile application development, so the major purpose of posting this question is to get hep from some experienced developers/architects.
My Question:
I am looking for such an architecture that first allow me to start with web version and then allow me to provide mobile edition with less effort. With less effort i mean to say that I only want to develop two UI Layer two times (One for web and one for Mobile). I want my Business logic and data access layers remain same for both UI layers. Please help me in chossing appropriate pattern for above application.
What i did so far at my own?
I read all above 3 architectural patterns in details and have basic understanding of all three but still unable to choose appropriate pattern for me, secondly i didn't find any more patterns so if there are some more please share their names only