为什么要分层
-
高内聚:分层的设计可以简化系统设计,让不同的层专注做某一模块的事
-
低耦合:层与层之间通过接口或API来交互,依赖方不用知道被依赖方的细节
-
复用:分层之后可以做到很高的复用
-
扩展性:分层架构可以让我们更容易做横向扩展
如果系统没有分层,当业务规模增加或流量增大时我们只能针对整体系统来做扩展。分层之后可以很方便的把一些模块抽离出来,独立成一个系统。
2、传统MVC架构
优点:关注前后端分离
缺点:模型层分层太粗,融合了数据处理、业务处理等所有的功能。核心的复杂业务逻辑都放到模型层,导致模型层很乱
适应场景:后端业务逻辑简单的服务,比如接口直接提供对数据库增删改查
编辑切换为居中
添加图片注释,不超过 140 字(可选)
3、后端三层架构
定义:
-
表现层:controller
-
逻辑层:service
-
数据访问层:dao
优点:逻辑与数据层分离
缺点:模型层分层比较粗,核心的复杂业务逻辑都放到模型层