zoukankan      html  css  js  c++  java
  • 三层构架 和 MVC 是什么?

    作者:肖继潮
    链接:https://www.zhihu.com/question/24291079/answer/27339010
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    企业应用开发时,经常采用三层架构分层:表示层、业务层、持久层

    • 表示层负责接收请求、转发请求、显示数据等;
    • 业务层负责组织业务逻辑;
    • 持久层负责持久化业务对象。

    这三个分层,每一层都有不同的模式,就是架构模式。表示层最常用的架构模式就是MVC。因此,MVC是三层架构中表示层最常用的架构模式。

    建议阅读《企业应用架构模式》《领域驱动设计》《Pojos in action》《J2EE 核心模式》等经典书籍,不要随意发明名词。

     

    MVC - 模型、视图、控制器。

    总有人来个什么模型层、视图层、控制器层,哪里来的这么多层?是不是还要来个Service层、DAO层、DTO 层?

    XX层,英文是tier(物理上)、layer(逻辑上)。既是层,个人理解就有上下关系。

    模型、视图、控制器有上下关系?否则 依赖倒转原则(高层不依赖于低层,二者都依赖于抽象)指的是啥?

     

    三层架构,每层都有自己的模式。模式就是套路(杨氏太极拳十八式就是套路),每一层都有自己的套路,就是所谓架构模式

    • 表示层最常用的模式就是MVC ,MVC就是表示层的一种架构模式。
    • 业务层的架构模式有事务脚本模式、领域模型模式、CQRS等(另一种说法是贫血、失血、充血、胀血...)。
    • 持久层的架构模式有入口模式、数据映射器模式等。

    一般来说,框架 > 架构模式> 设计模式 > 设计原则。打个比方,

    • Hibernate是一个持久层框架,是数据映射器模式的具体实现,实现时用到了工厂模式等很多设计模式,体现了什么依赖倒转原则、开闭原则、里氏替换原则等设计原则
    • AngularJS是一个客户端MVC框架,是 MVC架构模式的一种实现,实现时用到 XXXX设计模式,体现了 XXXX等设计原则。
    • Struts、MVC是表示层框架。。。。。诸如此类。

    How MVC belongs to only Presentation Layer?

    Presentation Pattern & Architecture Pattern

  • 相关阅读:
    count-and-say
    jump-game
    trapping-rain-water
    Java QueueDemo
    Java StackDemo
    swap-nodes-in-pairs
    php多维数组变成一维数组
    php获取客户端IP地址
    php根据随机数生成6位密钥
    Laravel ,YII,thinkphp 框架的区别
  • 原文地址:https://www.cnblogs.com/echo1937/p/6503218.html
Copyright © 2011-2022 走看看