单体架构 三层架构

三层架构是软件系统的架构模式,将软件划分为表示层、业务逻辑层和数据访问层,使得开发“高内聚、低耦合”。

一、三层架构

1. 表示层 Web

用于显示数据和接收数据,为用户提供界面,

写在 web 包中,

注意:

表示层可以按 MVC 开发模式划分,分为三个小层:

  • 模型
  • 视图
  • 控制

2. 业务逻辑层 Service

用于处理业务逻辑,

写在 service 包中,

组合数据访问层中的简单方法,实现复杂的业务逻辑操作,

3. 数据访问层 DAO

又称持久层,

用于对数据进行处理,

写在 dao 包中,

定义了对于数据库的基本增删改查操作

二、优缺点

1. 优点

  • “高内聚、低耦合”,降低层与层之间的依赖
  • 各层相互独立,方便开发与测试,方便维护
  • 利于代码复用

2. 缺点

  • 由于中间层的介入,降低了系统的性能
  • 增加了代码量

三、三层架构与MVC

  • MVC 是客户端的设计模式,无需考虑数据持久性的问题,只需要解决业务逻辑、界面、交互即可

    其中,

    • 业务逻辑由 Model 负责
    • 界面由 View 负责
    • 交互由 Controller 负责
  • 三层架构是软件系统的架构模式,在宏观上对软件系统进行了拆分

  • 三层架构 + MVC:

    • DAO,持久层
    • Service,业务逻辑层
    • Web,表示层
      • Model,模型
      • View,视图
      • Controller,控制器

参考