MVC和三层架构都是框架级别的,但MVC更像是一种设计模式,具体划分MVC难度比较大
MVC是三个单词的缩写:模型(Model),视图(View),控制器(Controller)。MVC模式的目的就是实现Web程序的职能分工。
MVC的示意图
视图(View),是用户看到并与之交互的界面,视图接受用户的操作和输入,并将结果返回给界面。
模型(Model),表示企业数据和业务规则,在MVC中模型拥有最多的处理任务。模型返回的数据是中立的(未经过格式化的),模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需要写一次就可以被多个视图重用,所及减少了代码的重复性。
控制器(Controller),接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。他只是接受请求,并决定调用那个模型构件去处理请求,然后在确定用哪个视图来显示返回的数据。
三层架构与MVC的区别
同样都是架构级别的,相同的地方在于他们都有一个表现层,但是他们他们不同的地方在于其他两层,在三层架构中没有定义Controller的概念,而MVC也没有把业务的逻辑与数据的访问看成是两层,这是采用三层架构与MVC搭建程序最主要的区别。当然了,在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,三层中典型的Model层是以实体类构成的,而MVC里,则是由业务逻辑与数据访问构成的
[本文主要参考百度百科中关于MVC和三层架构的概念]