- Model 1
-
This article is about the Java design model. For the arcade board, see Sega Model 1.
In the design of Java Web applications, there are two commonly used design models, referred to as Model 1 and Model 2.[1]
In Model 1, a request is made to a JSP or servlet and then that JSP or servlet handles all responsibilities for the request, including processing the request, validating data, handling the business logic, and generating a response. The Model 1 architecture is commonly used in smaller, simple task applications due to its ease of development.
Although conceptually simple, this architecture is not conducive to large-scale application development because, inevitably, a great deal of functionality is duplicated in each JSP. Also, the Model 1 architecture unnecessarily ties together the business logic and presentation logic of the application. Combining business logic with presentation logic makes it hard to introduce a new 'view' or access point in an application. For example, in addition to an HTML interface, you might want to include a Wireless Markup Language (WML) interface for wireless access. In this case, using Model 1 will unnecessarily require the duplication of the business logic with each instance of the presentation code.
Multiple view pages can also share content, business logic, validation, and other features by including reusable elements or components. For example, in Java JSP the application developer can define a new taglib that implements the shared features. File includes is an additional mechanism that promotes reuse. Thus, it is possible to make a "Model 1" architecture have comparable features to "Model 2" architecture with the advantage that application do not need to implement processing code in a general-purpose language that are most suitable to complex computations. A suitable designation for this would be a "Model 1.5" architectures, where application code is invoked only in the (rare) instances where non-stereotyped or complex processing is required.
See also
References
Categories:- Software design patterns
- Software architecture
Wikimedia Foundation. 2010.