距离离职也有了大半个月,决定对整个大学项目开发的方方面面做一个简要总结。
架构图
总结
大学的整体结构采用单体架构,整套架构是从传统三层架构+MVC扩展演进而来的,目前大部分页面都已经完成了前后端分离,目前大部分的业务代码都集中在BLL层。
待解决的问题
前后端分离不彻底
描述
系统已经做了前后端分离,现在的情况是,所有的模块都是SPA,但是SPA本身还是通过 MVC 渲染模式,Router由后端完成, View 进行渲染。
拟解决
- 把所有的单页整合到一个更大的单页里,把所有交互跳转都交给前端来做。
- 将整个前端代码分离到另一个库,前端的发版交由前端自行完成,不再由后端统一维护。
后端服务层耦合严重
描述
系统经历了两年,多代程序员的维护,业务层各个Service中代码耦合严重,导致维护难度很大,也几乎不可能直接向微服务架构迁移。
拟解决
把各个Service里的引用收束到服务实体本身,所有需要跟其他业务实体交互的部分,部封装一层聚合服务来解决,将整个程序的架构演进到“面向微服务的单体应用架构”。(截止到离职前用户部分已经完成)
Wait…