思考 在node里如何对代码进行分层
M.V.C
背景
最近为了学习和实践感兴趣的技术,换了一份比较辛苦的工作,待遇也没有涨,但幸好技术上能够比较多的沉淀.
用node来接入现有的项目(PHP).
DB - 由于现有数据库已经建立好了,如果用ORM可能会导致一些问题. 基本没有Model层的概念了
View - 采取前后端分离的方式,所有view层基本和node没啥大关系了 (react/vue)
所以现有的Express 基本就是一个纯业务的Controller层了.
但是这么写代码会很乱. 所以我将一些分层稍微做了点区分
router部分,包含基本的参数校验,后面大段的业务放到controller里面
controller里面业务会非常复杂,所以根据模块调用不同的service来组合.这里不直接和DB有关联
service方法里根据业务需要提供 数据集合
后期在git上放出示例代码.这里只是做些总结.补充下,TS真的很不错
如果加上ORM的话应该会比较完整.
- Model层获取基本属性
- service获取业务组合数据