酒店项目总结

一、设计阶段

1. 数据库设计

数据库设计的过程中有明确的规范,一些我之前容易忽略的点如下:

表必备三字段:id,create_time,update_time
不能使用物理删除操作,要使用逻辑删除
字段适当冗余,查询更快
选取合适长度的类型,如tinyint

为了加快搜索速度,需要在某些外键和查询字段加上索引,但要注意索引失效的几种情况。
设计过程中会有非常多的疏漏,加强沟通,尤其是与前端的沟通尤为重要,有助于明确需求。

2. API 接口设计

api接口是后端程序为前端提供数据和功能的入口,需要整个团队对业务需求有清晰的认识。

二、 编码阶段

1. 规范

总体的业务使用mvc的分层设计思想,dao层专注数据库交互,service层专注业务,controller层专注数据库的封装及返回。主要使用MybatisPlus提供的工具,编写起来非常方便;

建立实体类时可以把公共的属性抽成父类,
service使用MP提供的方法就可以满足绝大多数的需求,并且把所有的业务都放在service;
并且需要注意代码的可读性,避免多层 if 嵌套 及多个 else if;
controller 或是 domain 需要注意对参数非空处理;
service层的查询亦或是插入、修改等,使用LambdaWapper进行条件构造;
redis使用封装好的 RedisService,内部仍是使用了SpringCloudData的redisTemplate;
图片的上传使用Minio;

异常
定义全局异常,在service进行捕捉并抛出;

工具
在对 对象等进行判空、搜索等处理的时候,使用 Hutool 工具库,效率和简洁程度能得到极大提升;

gateway
使用Apollo进行动态路由,将配置文件上传到配置中心,更改后无需重启,只要进行刷新就能读取配置;

三、 个人体会

这次的项目是个难得的机会,我总结了一些体会主要是以下几个方面:

完整的开发流程
项目里用到的各种技术之前多多少少也学过或是了解过,但在项目里还是第一次将他们整合到一起,对于后端开发有了更加完整、更加整体的认识,在这些技术中仍有许多是我不熟悉或是压根儿不会的,但是现在已经有了方向和目标。

关于团队合作
这也是第一次以一个几十人的团队合作开发,无论是对 git 的使用还是沟通能力都有不错的提升。我也认识到,在企业项目的开发中,沟通是重中之重,不同的业务和功能之前会有千丝万缕的关联,除了在设计时要用心,也要注重开发过程中有效、及时的沟通。

关于Java 后端
在使用Java开发的过程中遇到的一个很现实的场景就是,当我遇到各种各样的问题时,总有一些别人写好的 “轮子” 能给出高效的解决方案,我不禁思考,后端程序的价值在哪里,后端开发主要的难题或许是在高并发、分布式这些事情,以及造轮子的能力上,目前仍需要一步一脚印慢慢努力。





 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值