• 软件架构分层


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

    (图片来源于网络)

    一、概述

    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 企业级应用开发实战》

  • 相关阅读:
    关闭。没意思
    2015年8月7日15:18:54工作
    2015年8月4日11:43:00工作内容
    博客功能的转变
    php小知识。
    来杭州的工作一览
    开发一款桌面程序。文件转换器
    解决一个题目。关于结构体与链表的操作
    批量检查APK是否具有指定的权限。
    Skynet Pomelo Erlang Elixir 的认识
  • 原文地址:https://www.cnblogs.com/hugo01/p/9177554.html
Copyright © 2020-2023  润新知