MVC模式,Model View Controller。
M(Model)模型; V(View)视图; C(Controller)控制器。
传统三层: U(User Interface layer)界面层; B(Business Logic Layer)业务逻辑层; D(Data Access Layer)数据访问层。
MVC中的 Model是指 要处理的业务代码和数据操作代码(领域模型) ,相当于传统三层中的 (B层+D层)
View 视图主要是指大量的页面,跟用户打交道,并能够展示数据
传统三层中有个Model实体层。此Model非彼Model。MVC中的Model包含的内容要比Model实体层包含的内容丰富的多。
1、视图控制模型分离, 提高代码重用性。 2、提高开发效率。 3、便于后期维护, 降低维护成本。 4、方便多开发人员间的分工。
1、清晰的构架以代码的复杂性为代价, 对小项目优可能反而降低开发效率。 2、运行效率相对较低 3、目前没有比较好的rich 客户端的解决方案 4、 控制层和表现层有时会过于紧密,导致没有真正分离和重用
约定大于配置 (体现在:(control文件夹与view文件夹下的文件及文件夹命名过程) 1、控制器命名:以controller的结尾;如HomeController 2、控制器类将会产生一个与之同名的在View文件夹下的同名:~/View/Home 3、控制器里的Action方法也可在视图文件夹下默认生成一个同名的视图,如:Index.cshtml) 延迟加载 只有当使用到数据的时候,才去查询数据库。Tolist()的时候才去查。 泛型 DbQuery<T>,支持 延迟加载
对MVC有了一个初步的认识,还需要多用。知识是用出来的,不是学出来的。那些优缺点、特点。MVC与传统三层的区别,具体如何,还需要在代码中去体会,去实践。