第十四天、一周总结

283 阅读3分钟

本周事情总结

本周学习的如下方面的知识:

  1. 项目的结构分层,以及项目的设计
  2. 整体架构的选型
  3. 编码规范,前后端设计的对接规范
  4. 项目搭建,完成了乘客管理,菜单管理

这周的核心思想是如何创建一个稳定以及高拓展性的项目
首先从项目的结构开始分析,项目要分层清晰,划分好业务边界。好的分层能让人一眼就能看明白哪个模块是做什么事情的,专人专事。并且还很好拓展,有新的功能直接就可以加模块就完事了。
其次要考虑架构的选型,现在网上各种技术框架都有,从最底层的数据库到面向客户的web端,都有大量的框架可供挑选。所以挑选一个适合业务的框架对后续的拓展以及维护就很重要。微服务架构的技术选型的流程是从下而上的,从基础到最后的门面,就和做房子一样,要先打好地基。
最后在开发的时候,要遵循一定的规范,这样无论是后期的维护成本,还是交接成本都会大幅度的降低。而且我们的项目是前后端分离的,在开发的时候,最好能先定义前端的接口,和前端沟通好接口的对接形式,这样在后期对接的时候就能省下很多的时间。就不用互相甩锅了。

遇到的难点

  1. 在启动Nacos的时候,有报Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! ,后来发现是因为配置的环境变量%JAVA_HOME%直接指向了bin目录。然后在Nacos的bin/start.cmd下面看到如下图的启动,Nacos默认是用环境变量加上bin去执行的,所以没有找到 image.png
  2. 抽象BaseService和BaseController的时候,发现一直没效果,后面发现是引入的mybatisPlus的包缺失导致,后面添加后就没问题了。
  3. 在Gateway网关的路由转发的时候,Path里面的路径其实就是访问的匹配路径,当访问localhost:8080/api/self/** 时,其实会帮我们转发到ticket-service下面的localhost:8081/** image.png

思考

第一次使用这种抽离出基础的BaseService和BaseDao、BaseEntity、BaseController的方式,有一种打开了新的思路的大门的感觉。之前一直都是直接继承的Mybatis-plus的基础服务类,现在自己抽离出来后,可以直接在BaseService实现包含自定义的方法。感觉在开发效率以及对抽离思想有了更深一步的认识。而且对于泛型的使用也有了认识,之前一直都没太多机会用到泛型这块的东西。而且这种架构设计思路和公司目前使用的完全不一样,有很高的借鉴意义,还是需要多多见识下相同的框架不同的用法。