zoukankan      html  css  js  c++  java
  • 此三层非彼三层——MVC&UBD

     学习了三年编程了,到如今这个阶段,開始接触架构,開始认识架构,怎样设计一个程序的结构,学名称"架构模式"(architectural pattern)。个人经历告诉我这在编程中是一门“量到质变”的学问。没有一定的编程经验,是谈不到架构的。

    不说那么多。我也是刚刚接触,谈谈我认识的两种架构模式。


    以下是我对MVC。UBD模式的一些个人理解,不一定正确,主要用来整理思路。

    一、MVC&UBD的通用思想——高内聚,低耦合

     无论是UBD 还是MVC ,程序不论简单或复杂,假设从解耦的角度来看三层架构和MVC事实上他们是一致的。


     三层:UI 界面层 BLL 业务逻辑层,DAL数据訪问层,Model 实体层
     MVC
      M 即Model(模型层),主要负责出来业务逻辑以及数据库的交互
      V 即View(视图层)。主要用于显示数据和提交数据
      C 即Controller(控制器),主要是用作捕获请求并控制请求转发
     
     依照设计的原则:依赖倒转的思想。保证这三层是紧密联系在一起的。但又是互相独立的,每一层内部的变化不影响其它层。每一层都对外提供接口(Interface)。供上面一层调用。这样一来,软件就能够实现模块化。改动外观或者变更数据都不用改动其它层。大慷慨便了维护和升级。
     
     
       
    二、MVC简单理解

     MVC是BS 项目中提出的一种模式。是三层的一种。近期一直在做DRP项目,对于MVC的理解也是基于JSP。Servelet ,DAL来理解的。
              首先V 就是view。视图,是直接面向终于用户的"视图层"(View)。

    它是提供给用户的操作界面,是程序的外壳。

    不用过多解释。
     
            其次是Controller。是控制器的意思。所谓控制器,就是将用户请求转发给模型层,经过处理后把结果返回到界面展现的一个中间层。那么Controler究竟管什么工作呢?
     先来看看在Java Web中。这三个层一般的定义,一般在Java Web里,JSP充当V。Servlet充当C,JavaBean充当M,这里的Servlet管什么工作呢?接受输入。转到Model层去处理,处理结果保存后转发到JSP,然后展现数据。所以它的功能就是控制器的基本功能。它就管转发,在V和M之间转来转去。


     
             再来说说M,即Model,在Java Web里说的是JavaBean,JavaBean不仅是实体。还包括了业务逻辑和数据库操作的类,这和实体类全然是两回事。

    包括了业务逻辑和数据訪问。


     
     
    二、UBD模式和MVC模式的比較

     1、划分:
      三层是基于业务逻辑来分的。而mvc是基于页面来分的。这是通过在DRP中感受到的,servlet是跟JSP紧密相联的。


      
     2、作用范围
     
      三层感觉更像是一种宏观的架构模式三层是一种思想,在此基础上,我们或者能够扩展有四层五层。都是依据业务来进行的变更。

    MVC 则是处理BS项目中一个应用模式。由于MVC在Model里包括了业务逻辑层,数据操作层。这里的划分事实上也是一种三层的缩影体现。
      
     3、头重脚轻
     
     MVC给我的感觉就是这样,这就是须要关注一下Model.“三层”中典型的Model层是由实体类构成的,而MVC里,则是由三层中的BLL。DAL,Model组成的。不一样的概念,尽管名字一样。
     MVC中model的含金量是极高的。


     
     临时就这些感悟。对于MVC的学习还在继续。


    
  • 相关阅读:
    解决UITableView中Cell重用机制导致内容出错的方法总结
    Hdu 1052 Tian Ji -- The Horse Racing
    Hdu 1009 FatMouse' Trade
    hdu 2037 今年暑假不AC
    hdu 1559 最大子矩阵
    hdu 1004 Let the Balloon Rise
    Hdu 1214 圆桌会议
    Hdu 1081 To The Max
    Hdu 2845 Beans
    Hdu 2955 Robberies 0/1背包
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5179979.html
Copyright © 2011-2022 走看看