- 第一天通过孤尽老师讲解的系统设计课程,让我对一个项目,是怎么进行需求分析,要怎么进行需求分析,然后到架构怎么设计,为什么一个好的架构很重要,到最后模块要怎么划分才合理的一系列流程有了更加清晰的认识。
- 第二天是实操内容,这天画了用户模块的类体以及订单模块的类图,说实话之前还没有画过类似的图,一开始还不知道要怎么画才后,后面通过找资料才知道一个好的类图就是显示了一组类、接口、协作以及他们之间的关系,类里面应该是相关的属性和方法。重点就是要梳理类和接口的关系。类图技能get。
- 第三天是无尘老师的Mysql设计方案课程,给我们讲解了数据库索引的底层架构,一个好的数据库,表应该怎么设计才好,索引要怎么设计才能达到最好的效果。还有通过什么方法对一个sql语句进行一步步的索引分析。
- 第四天是建表的实操,通过对需求的分析,画了数据库的E-R模型以及编写了建库脚本,对ER图有了更深一步的认识。
- 第五天是系统日志规范设计、错误码设计规范以及异常处理设计。一个好的系统,有一个好的底子是很重要的。通过一个好的日志规范,我们可以很快的定位到问题。一个好的错误码规范,能够减少我们和前端同事以及其他开发同事的沟通成本。一个好的异常处理,能帮助我们减少很多随意的错误定义。
对于系统的设计方案来说,我们是分模块进行开发的,有用户模块,订单模块,消息模块,菜单模块,权限管理等模块,这样当然采用微服务架构最好。使用统一的网关进行分发,并且使用统一的鉴权处理,在网关层就给限制住。减少模块的外爆接口风险。并且我们是购票网站,购票网站对于高并发有很高的要求,正好springCloud给我们提供了一站式的解决方案。