zoukankan      html  css  js  c++  java
  • (转)三层和mvc

    先说下两者出现的目的:
    三层是一种为了Project间解除耦合所提出来的简单的分层方式
    但MVC其实并不是基于Project的分层方式,而是一种解除展示模板与主要访问控制依赖的设计模式(其实全部都是基于UI的)
    【这段楼主可不看:不过有同学说 V是三层的UI,C是三层的BLL,M是三层的DAC,这么说其实不是很对 UI可以认为是 UI=C+V+VIewModel而数据库访问的Model要根据是否是充血模型来判断是否归属于DAC】

    再说下两者是基于什么来工作的:
    简单说三层至于基于项目,MVC可以基于面向对象关系(即MVC可以在一个项目中,而三层至少要三个项目),而MVC和三层也可以共同使用,本身并不冲突

    下面我再说下两者的知识储备(这里说的是理解,而不是使用,使用的话当然可以不求甚解,但我觉得不求甚解的使用方式是对个人不会有提高的,项目做完了,啥也没学到,其实也没意思):
    三层:相对来说有简单的面向对象知识,面向接口编程知识即可写出简单的三层
    MVC:首先要完全了解面向对象,以及设计模式(因为MVC本身是复合设计模式,所以至少要了解GOF95那些)的知识基础,也要了解面向切面编程以及 各种程序解耦的方式

    总结一下:
    MVC与三层,共同的地方只有一点,就是看起来都是三个组成部分。但其使用的目的是不一样的,就算使用(MVC -BLL-DAC)这种形式,也是可以的。
    如果真正了解MVC的同学,因为有了一定的学习基础,即便不会三层,也可以通过简单学习快速使用三层,因为三层的学习代价并不大。
    一切的设计模式都是为了解耦而生,至于为什么需要解耦,就需要了解耦合的所有坏处。

    原文地址:http://zhidao.baidu.com/link?url=dZ9W8vjRJvRvzXMaimuoeJnZX-ETDqsUl2S8IsK5dLqlNOmydpCAW43T3OS1iWJ2kH_T6OFVKOX-UMa4MfjaDK
  • 相关阅读:
    性能测试系列七 工具选择
    Selenium Web自动化面试题总结(下篇)
    性能测试系列六 评估压测量
    hexo 安装
    光纤收发器组网方式
    频谱仪
    交换机网管telent
    区块链共识机制
    SDH、MSTP、OTN和PTN
    ACL知识
  • 原文地址:https://www.cnblogs.com/ximenxiazi/p/5809427.html
Copyright © 2011-2022 走看看