MVC是什么?
MVC是使用模型(Model)视图(View )控制器( Controller)设计创建web应用程序的模式,跟之前接触过的三层(界面层,业务逻辑层,数据处理层)一样,可以实现解耦合
Model(模型):处理数据逻辑的部分,以及数据库中存取数据。
View(视图):用户看到并与之交互的界面,一般是HTML元素组成的界面。处理数据显示的部分。通常视图是依据模型数据创建的。
Controller(控制器)处理用户交互,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 模型结构:
Controller:
controller通过index方法返回要访问的界面,然后等待用户输入,把用户输入的数据(数据来源于view层用户的输入)传递给模型进行处理,它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
namespace MvcApplication1.Controllers
{
public class ReturnController : Controller
{
//
// GET: /Return/
//将视图呈现给网页
public ActionResult Index()
{
return View();
}
public ActionResult ShowBorrowInfo(string itemName)
{
ReturnBLL ReturnBLL = new ReturnBLL();
return Json(ReturnBLL.ShowBorrowInfo(itemName), JsonRequestBehavior.AllowGet);
}
}
}
View层:
在View界面的操作 通过js 把值传递给controller中的方法,然后调用逻辑层以及数据处理层,把返回的结果在界面显示。
为什么要用MVC框架?
优点:
耦合性低
模型与控制器和视图相分离,当我们改变其中任何一层的时候,不会对其他的层造成影响。同时也使得部署快,维护性高
重用性高
例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的命令是改变视图层的实现方式,而模型与数据格式无关,控制层和模型层无需做任何改变。由于已经将数据和业务规则从表示层分开,所以可以最大化的重用代码了。这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
缺点:
没有明确的定义
不适合小型,中等规模的应用程序
增加系统结构和实现的复杂性
视图对模型数据的低效率访问
怎么创建MVC框架?请看:
http://blog.csdn.net/aitcr/article/details/77800395
总结:
在学习mvc 框架的时候,可以结合之前学习过的三层框架,这样对比学习,就会发现很多相似点,更容易理解,当然在这个过程中与别人的交流也很重要,看别人理解的和自己理解的是否一致,不断学习,不断完善。