【开源产品学习】使用starTool学习开源项目ukefu

因为自己也是客服领域的技术人员,看到开源的客服系统要研究下

ukefu的开源项目主页:

https://gitee.com/chromeOS/ukefu

关于starTool可以参考链接:

https://blog.csdn.net/weixin_39020940/article/details/80633835

对外的业务形态和产品的功能,可以直接在开源项目中部署demo就可以使用,这里就不再赘述

这里主要讲的是,我们已经知道了业务形态和功能后,我们该怎么和开源的代码做关联

1、首先,我们使用工具导出代码的矩阵xls

Java一般有统一的命名规范,所以类的名字都比较规范,而且ukefu是符合MVC框架的,我们可以先用xls过滤controller,看看所有的业务控制

筛选->结尾是->controller

扫描二维码关注公众号,回复: 2836037 查看本文章

结果如下:

这里我们对代码的控制层应该就有一个初步的概念蓝图了,坐席、用户、消息、会话、系统员的控制层都可以在这里看到,值得注意的是,最后一列是可以看到控制层对外暴露的REST API,可以帮助我们理解代码对外API,以AgentController为例

注:/开头的是支持的URL,其他的是Java的其他注解功能,结合词义,可以发现,提供了坐席的示忙、示闲、黑名单、图片上载等功能

Controller通读完了就是Service层了,同样的方法过滤Service,如下

这里就是真正干活的类了,我们也看到了好多接口类(绿颜色的,都是I开头,感谢Spring的自动匹配功能),在这里我们也可以从最后一列看到有些使用的数据表,比如AgentService,使用表uk_agentservice,应该就是存放agent相关的数据

ukefu的源码没有专门标注DAO层,不过没关系,我们可以通过其他方式查看数据存放的位置,方法就是最后一列过滤Table

最后一列就是使用的数据表了,可以看出ukefu的表都是uk开头的,后缀是功能,结合第一列也可以找到表使用的地方

xls其实已经可以看出整体的框架了,如果我们相对某一块代码深入研究,也有查看工具对应生成的类的图表,这里以图为例,以TaskService为例

【结语】

这里限于篇幅只做整个框架的介绍,当然ukefu原本代码远不止这些

另外从整个过程可以 看出starTool可以辅助对代码框架和分布学习,但还缺少对业务流程的梳理(这里作者还在构思)

猜你喜欢

转载自blog.csdn.net/weixin_39020940/article/details/81805945
今日推荐