【MVC】初识

简介: 【MVC】初识

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 视图主要是指大量的页面,跟用户打交道,并能够展示数据

Controller看成是Model和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与传统三层的区别,具体如何,还需要在代码中去体会,去实践。


相关文章
|
Java 容器
mvc02
mvc02
46 0
|
3月前
|
前端开发 JavaScript
使用mvc7
使用mvc7
22 0
|
前端开发 网络架构
什么是MVC-02
什么是MVC-02
65 1
|
前端开发 Java
|
设计模式 前端开发 Java
|
设计模式 JavaScript 前端开发
浅析MVC
浅析MVC
134 0
浅析MVC
|
存储 开发框架 前端开发
MVC系列之开始
MVC系列之开始
155 0
MVC系列之开始
|
前端开发
|
前端开发 程序员 设计模式