To find out more about architectural frameworks used in software development we interviewed Prem Khatri, VPO at Chetu. Prem Khatri specializes in Microsoft technologies, particularly with .NET frameworks, SSRS, WCF, MVC and many others. He has been with Chetu for nearly nine years and secured the title of VPO for the past five.
As VPO, Prem Khatri uses his expertise to help teams working with technologies to solve critical problems with projects. He also reviews projects to ensure they comply with current coding standards and helps with planning for projects that fall within his realm of expertise.
Q: What is Model-View-Controller?
A: There are two commonly used architectural frameworks for building web-based applications: Model-View-Controller and Web-Forms. MVC was originally conceptualized in 1976 as a development architecture for creating desktop applications.
MVC has since evolved into a framework for creating cross-platform compatible applications using a variety of programming languages including Ruby on Rails, .NET, Java and many others. It is a popular architecture because it reduces duplication of tasks by eliminating the need to create multiple versions of the same application for use on different operating platforms.
Q: Is MVC a replacement for Web-Form Based architectures like ASP.NET WebForm?
A: Some may assume MVC is a replacement for other architecture frameworks such as ASP.NET WebForms. I do not agree with that. Instead, I think a developer should think of it as an alternative to web-form. Each framework has its own use based on project timelines, support, application type and target users. So a developer must review project parameters before deciding which approach to take.
Q: How does MVC address the Separation of Concern principle?
A: MVC adheres to the Separation of Concern principle because it allows a developer to divide an application into sections based on how the information interacts with the code. For example, it separates the UI of an application from its business logic and data access logic implementation through the View and Controller features, thus allowing a developer to update each section individually.
Q: Does MVC follow the Stateless Protocol for web development?
A: Yes. MVC does not support web page post back or server-side page and control events, thus ensuring applications closely adhere to the Stateless Protocol for web development.
Q: Why might a developer choose to use MVC over other architectures?
Q: Why would a client want the development team to use MVC?
A: I think a major reason for using MVC is cost. Developers using web-form based development have to create multiple copies of the same application, which is more expensive because it takes additional time, effort and resources. With MVC, teams can create one application that functions on multiple devices and platforms. This drastically reduces the total cost of application development. In addition, thanks to the Model function of MVC, a client can separate business logic and data from the web interface should they wish to offer an application as a Software as a Service or simply sell it to customers as an Enterprise license.
Q: Are there any other advantages to using MVC?
A: Search engines seem to like applications built in MVC. Typically, pages built using MVC are much lighter than pages built using other architectures, which means they load faster and therefore perform better during search engine crawls. As a result, pages built using MVC receive better page rank scores from Google, Bing and other search engines.
Q: What types of applications are best suited for MVC?
A: MVC is great for consumer facing applications with larger audience where the objective is to create an extremely SEO friendly web portal that functions across multiple platforms. I would recommend against MVC for small projects that have very tight timelines or do not require test driven development.
Q: What else should be considered when choosing between MVC and other architectural patterns?
Stay tuned for our next installment of ‘Technical Perspectives’ where I will be interviewing Deepak Pandey to find out more about Automation Testing Tools.
Chetu, Inc. does not affect the opinion of this article. Any mention of specific names for software, companies or individuals does not constitute an endorsement from either party unless otherwise specified. All case studies were written with the full cooperation, knowledge and participation of the individuals mentioned.
Chetu differentiates itself in providing industry specific expertise combined with its low cost, high productivity model.
Chetu was incorporated in 2000 and is headquartered in Florida. We deliver World-Class Software Development Solutions serving entrepreneurs to Fortune 500 clients. Our services include process and systems design, package implementation, custom development, business intelligence and reporting, systems integration, as well as testing, maintenance and support.Chetu’s expertise spans across the entire IT spectrum.
- See more at: https://www.chetu.com/blogs