微博客
前端后端分离的博客系统, 是一个单体应用
产品
用户定位:
架构
业务逻辑代码组织方式
业务代码组织风格:
- MVC 分层架构: 比较传统的代码组织风格
- 微服务渐进架构: 微服务的孵化,业务开展之前, 尽量少的划分服务(2 ~5个服务)
- DDD 分区架构(Domain Driven Develop): 域(领域): 一个业务单元(商品管理/订单管理), 理解为一个业务分区
代码开发的2种方式:
- 从上往下 进行设计, 顶层设计
- 从下往上 做业务的具体实现
RESTful接口设计
// 文章管理 API, 同时设计业务接口(需要暴露成HTTP RESTFUL)
业务接口定义
HTTP 接口 只是把业务接口的能通过HTTP协议对外进行暴露
GET /vblog/api/v1/blogs 获取博客列表
POST /vblog/api/v1/blogs 创建博客 参数通过Body
GET /vblog/api/v1/blogs/:id 获取单个文章
PUT /vblog/api/v1/blogs/:id 获取单个文章
DELETE /vblog/api/v1/blogs/:id 删除单个文章
数据库的设计
文章: Blog
文章的元数据:
用户传入的数据
- 标题
- 作者
- 发布时间
- 内容(Markdown)
- 标签(map)
补充数据库的建库,建表
开发