What is the main difference between Mvc1 and Mvc2 Architecture??

Answer Posted / brainwaves4all

There is nothing called MVC1 and MVC2.

MVC is an architecture for Application development in general. It is not specific to Desktop Applications or Web Applications.

MVC was designed considering the scalability aspect of an application development architecture which implements the clearest possible separation of concerns among its components so as to produce a well de-coupled and highly extensible Application as a result.

The MVC1 and MVC2 confusion comes in due to the Model1 and Model2 designs promoted for the use of JSP and related technologies in Web Application development. So, Model1 and Model2 DO NOT equate to MVC1 and MVC2 respectively for the simple reason that the latter duo do not exist!

Model1 design of JSP puts all logic (both presentation and business kind) in the JSP pages. It has the often dreaded JSP-calling-a-JSP scenario. The scenario is dreaded for the simple fact that most of the business logic is exposed to the world and with raising complexity of the application, the problems of handling the various flows grow enormously. This happens to be the page-centric design which is flawed when it comes to developing scalable applications. Whereas, for simple, small, and use-&-throw applications it is suitable due to its simplicity. The simplicity being one single place for handling most of your logic. This tends to have a lot of redundancy of code when many JSPs perform overlapping functions, though. This makes for another reason why this design is not suitable for large-scale applications.

Model2 design of JSP falls in line with the popular MVC architecture and promotes clear separation of concerns among the components making up the application. The one most important advantage is the resilience of the application to change requests and its ability to scale-up effortlessly. This makes it very suitable for application development of any kind, be it tiny or huge. To this end, JSP pages form the View part, java servlet forms the Controller part, and plain java class files and javaBean classes form the Model part, in this design. The flows follow the MVC architecture's prescriptions.

Please note that there is no mention of the technologies used in MVC architectural implementations in the above response. This is consciously done to drive the point that MVC is an application development architecture that does not concern itself with what technologies implement it in the actual product.

Is This Answer Correct ?    21 Yes 3 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is struts xml?

437


What are action errors and error?

573


What is token used for?

506


What do you mean by tiles in struts?

540


Describe the mvc on struts?

548






What is the purpose of execute() method?

568


What is defeult result type?

625


What is the difference between forwardaction and includeaction?

531


What does apache struts do?

502


Will the struts tags support other markup languages such as wml ?

548


How an actionform bean is created?

565


What are Struts2 core components?

556


What does i18n interceptor?

579


How action-mapping tag is used for request forwarding in struts configuration file?

580


What design patterns are used in struts?

556