MVC最早的概念:
三层模式:继承了原来MVC的概念
ASP.NET MVC 只是UI层的表示框架,是微软的第一个开源项目;
根据下图重新理解下原始MVC概念(左图),微软ASP.NET(UI(Controller、View、Model)),三层架构(UI、BLL、DAL、Model)
现代的微软ASP.NET MVC仅仅只是UI(上图右上角)层的一个框架,它的地位和WebForm是平级的,是一种网站开发框架;
而三层架构中的其余三个BLL(业务逻辑层)、DAL(数据操作层)、Model(实体模型层)仍需要我们去写类库(DLL)实现即可;
注意:如何区分UI层Model和三层中Model的概念
UI层Model的理解(图书的例子),
UI层Model是对需要展示的数据的一种自定义封装
三层架构中的Model是对应着数据库中的表,一个表就代表一个类,表中的字段就是类中的属性
比如说数据库中有两张表 ,一张表包含图书的名字和作者,另一张表是图书的分类信息
现在我的展示视图View需要显示图书信息,这个图书信息既包含了图书的名字和作者,又包含了图书的分类信息
那么我在MVC的Model定义中就需要自定义这个Book类,去包含三层中Model那两张表的图书名字、作者、分类三个字段信息
但是如果我在UI层中的View只需要展示图书的分类信息,那么可以直接调用三层Model中的图书分类信息类即可,不需要再去在UI层中的Model中重复定义一个图书分类信息类
所以要严格区分三层中的Model层和UI层中的Model不是同一个东西。
一般来说ASP.NET中的三层中的Models是不需要额外添加的,一般是引用三层中的Model中的实体类