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.降低了系统内部的依赖程度
上一篇: STM32笔记之 GPIO引脚