相比较MVC而言,三层(U,B,D)已经在实践当中使用过,不再陌生,那么MVC又是什么呢?它和三层又有什么异同点呢?
首先解释一下MVC。V即View,是视图的意思。C即Controler,是控制器的意思。M即Model,是模型的意思。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库创建的。
View(视图)是应用成粗中处理数据显示的部分。
通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
在MVC中,业务逻辑和数据访问应该放在Model层,也就是V负责展示数据,Controler除了转发不做业务逻辑。真正的逻辑事务,数据访问,甚至算法都放到Model去。而三层架构,三层为界面,业务和 数据访问,在三层中是没有Controller的概念的,在MVC中也没有把业务的逻辑访问看成两个层。三层中的Model层是以实体类构成的,而MVC中的Model是由业务逻辑与访问数据组成的。名字虽然一样,但概念却不一致。