zoukankan      html  css  js  c++  java
  • 软件架构分层

    目前常用的三层构架即:表示层、业务层和数据访问层。

    (图片来源于网络)

    一、概述

    1、表示层:提供用户交互的界面。GUI和Web页面是表示层最典型的两个例子。

    2、业务层:也称之为业务逻辑层,用于实现各种业务逻辑。如处理数据验证,根据特定的业务规则和任务来响应特定的行为。

    3、数据访问层:也称之为数据持久层,负责存放和管理应用的持久性业务数据。

    二、分层架构应遵循的原则

      (1)每个层的代码必须包含可以单独维护的单独文件;

      (2)每个层只能包含属于该层的代码。因此,业务逻辑只能驻留在业务层,表示层只能在表示层,而数据访问逻辑也只能驻留在数据访问层中。

      (3)表示层只能接收来自外部代理的请求,并向外部代理返回响应。

      (4)表示层只能向业务层发送请求,并从业务层接收响应。它不能直接访问数据或数据访问层。

      (5)业务层只能接收来自表示层的请求,并返回对表示层的响应。

      (6)业务层只能向数据层发送请求,并从其接收响应。它不能直接访问数据库。

      (7)数据访问层只能从业务层接收请求并返回响应。它不能发出请求到除了它支持的数据管理系统(DBMS)以外的任何地方。

      (8)每层完全不知道其它层的内部工作原理。例如,业务层可以对数据库一无所知,并且可以不知道或不必关心数据访问对象的内部工作原理,它必须是和表示层无关的,可以不知道或是不必关心表示层是如何处理它的数据的。表示层可以获取数据并构造HTML文档、PDF文档、CSV文件或以某种其它方式处理它,但是这应该与业务层完全无关。

      (9)每层应当可以用具有类似特征的替代组件来交换这个层,使得整体可以继续工作。

    三、三层架构图

    表示层

      |_______ Controller

      |_______ View

    业务层

      |_______ Enity

      |_______ VO

    数据访问层

      |_______ Dao

      |_______ Repository

    参考资料《Spring Boot 企业级应用开发实战》

  • 相关阅读:
    实验一:初步认识程序在内存中运行
    读了 东方学帝 的 《薛定谔方程和狄拉克方程等在共量子论中处于什么地位?》
    别跟我说 正电子 是 狄拉克方程 推导 出来 的
    ∫ 1 / ( b / x
    我很好奇 俄罗斯 小哥 数学家 为 华为 解决 的 数学问题 是 什么
    对 潮汐 现象 的 计算机 程序 模拟
    二阶微分 没有意义, 二阶导数 才有意义
    关于 郭峰君 的 d ( x² + y² + z² ) = d ( c² t² )
    圆面积 公式 推导
    理论模型 和 计算能力
  • 原文地址:https://www.cnblogs.com/hugo01/p/9177554.html
Copyright © 2011-2022 走看看