MVC模式(javaweb相关)

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

Model1设计模式:JSP+JavaBean

JSP开发的弊端    
业务处理的代码与JSP代码混在一起.不易于阅读,不易于代码维护,降低了程序的可维护性,可扩展性,同时不利于分工合作

例如:

<form method="post" action="doLogin.jsp">
      <table>
         <tr>
    	<td>用户名称:<input type="text" name="user"/></td>
         </tr>
…
<%
    String uname=request.getParameter("user");
    String upwd=request.getParameter("pwd");
…
%>

所以我们需要引进MVC设计模式:

Model2模式:(采用MVC设计模式)

mvc设计模式具体实现:

模型(model):

        对应的组件是JavaBean.代表应用程序的数据以及用于访问,控制和修改这些数据的业务规则

视图(view):

        对应的组件是JSP或HTML.视图是用户看到并与之交互的界面.(它从模型中获取数据并指定这些数据应该如何表现)

控制器(controller):

        对应的组件是Servlet.控制器负责转发请求,对请求进行处理.

mvc设计模式优点:
        1.层次关系更加清晰
        2.各组件分工更加明确


mvc设计模式缺点:
        1.增加了编写的复杂度

三层开发遵循的原则:

1.上层依赖其下层,依赖关系不跨层
表示层不能直接访问数据访问层
上层调用下层的结果,取决于下层的实现


2.下一层不能调用上一层


3.下一层不依赖上一层
上层的改变不会影响下一层
下层的改变会影响上一层得到的结果


4.在上一层中不能出现下一层的概念
分工明确,各司其职

5.下层不知道上层的存在
仅完成自身的功能
不关心结果如何使用

6.每一层仅知道其下层的存在,忽略其他层的存在
只关心结果的取得
不关心结果的实现过程
JSTL通常会与EL表达式合作实现JSP页面的编码

总结:分层开发的优势

1.职责划分清晰,互不影响

2.无损替换

3.复用代码

4.降低了系统内部的依赖程度

猜你喜欢

转载自blog.csdn.net/qq_40180411/article/details/82584704