深入理解MVC分层模式

  MVC分层模式:
  M 即Model(模型层),主要负责出来业务逻辑以及数据库的交互
  V 即View(视图层),主要用于显示数据和提交数据
  C 即Controller(控制器),主要是用作捕获请求并控制请求转发
  三层:UI 界面层 BLL 业务逻辑层,DAL数据访问层,Model 实体层
  MVC中的的M 不是三层中的Model(实体层),他其实包括三层中的 BLL,DAL,Model
  首先N层结构可以将低软件的复杂度,提高其可维护性。
  一般来说,层次之间是向下依赖的,下层代码未确定其接口(契约)前,上层代码是无法开发的,下层代码接口(契约)的变化将使上层的代码一起变化。
  简单的说界面层依赖业务逻辑层;业务逻辑层依赖数据访问层
  MVC模式是一种复合设计模式,MVC中的三个事物之间并不存在明显的层次结构,没有明显的向下依赖关系,相反的,View和Model往往是比较独立的,而Control是连接两者的桥梁,他们更像是横向的切分。
  所以MVC中每个块都是可以独立测试的,而三层结构中,上层模块的运行测试势必要提供下层代码或者提供相同接口的桩。相对来说,MVC复杂得多,但是结构更清晰,耦合性更低。
  另外,MVC中每一块内部特别是Model内部经常被设计为多层的。
  一个良好的MVC模式构建的结构中,Control是核心,小且稳定,可扩展,但基本上可以简单配置不需要任何代码就可以运行。
  而View则可能是一套或多种可选择的视图引擎,决定了软件展示给用于的界面,使用时的主要工作量在于扩展点以及根据需要而数量不同的视图模板。
  Model则是业务提供者,决定了软件提供的功能,其内部可能是一些普通的类或者是实现了某些接口的类,由于业务的不同而不同,对于复杂的软件可能会分成很多层,如业务逻辑层、业务提供层、系统提供层、数据提供层、数据访问层等。
深入理解MVC分层模式_第1张图片
                  MVC思维导图简单理解

最后,给大家推荐一个学习Java的好网站JAVA自学网站–how2j.cn

你可能感兴趣的:(Java基础,mvc,java)