博客系统学习关于应用架构的分层与设计
1、应用架构为什么要分层
先看应用不分层有什么缺点:
代码不够清晰,难以阅读。
代码职责不明,难以扩展。
代码错综复杂,难以维护。
代码没做分工,难以组织。
分层有什么特点:
按业务功能进行分层。
层次关系良好,上层依赖下层,下层支撑上层,下层不能访问上层。
每一层都能保持独立。
一般应用使用三层架构:表示层,业务层,数据访问层(数据持久层)
三层结构不等同于MVC。
2、博客系统的架构设计:
表示层:Controller、View ...
业务层:Entity、VO、Service ...
数据访问层:Repository ...
博客系统的职责划分:
实际上整个的博客系统包含了两个系统,
博客系统:使用关系型数据库(MYSQL)、ElasticSearch
文件管理系统:MongoDB
两个系统直接使用RESTful API 进行交互。