一直以为MVC就是三层,最近通过.net的学习才知道,三层架构是指表示层(UI),业务逻辑层(BLL)和数据访问层(DAL) ,UI负责与用户的交互,DAL负责访问数据(其实是操作model,model对应物理表), BLL连接UI和DAL,负责一切业务逻辑。
而MVC只是表示层UI的细分,这里引用一下高手的描述:MVC是表现层的架构,MVC的Model实际上是ViewModel,即供View进行展示的数据。 ViewModel不包含业务逻辑,也不包含数据读取。 而在N层架构中,一般还会有一个Model层,用来与数据库的表相对应,也就是所谓ORM中的O。这个Model可能是POCO,也可能是包含一些验证逻辑的实体类,一般也不包含数据读取。进行数据读取的是数据访问层。而作为UI层的MVC一般不直接操作数据访问层,中间会有一个业务逻辑层封装业务逻辑、调用数据访问层。UI层(Controller)通过业务逻辑层来得到数据(Model),并进行封装(ViewModel),然后选择相应的View。
以上主要引自 https://www.cnblogs.com/yourshj/p/5197310.html