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

  • 相关阅读:
    bugKu getshell
    XCTF 进阶区 CAT
    php弱类型比较
    XCTF command_execution
    关于错误 openssl/ssl.h:没有那个文件或目录的解决办法
    libffi-dev : 依赖: libffi6 (= 3.2.1-4) 但是 3.2.1-4kord 正要被安装
    如何查看 Ubuntu下已安装包版本号
    git 下载指定tag版本的源码
    ubuntu 环境 openstack 源码包制成 deb 包
    fedora 国内源
  • 原文地址:https://www.cnblogs.com/echo1937/p/6503218.html
Copyright © 2011-2022 走看看