之前一直做性能测试,现在专做测试平台开发,对于项目的分层都比较模糊,一般都以功能实现实现和代码结构清晰为主,对于业务分层这块虽然有做,但是没有特别清晰的明确,今天在地铁上看到的一篇文章觉得蛮有启发,就分享下。连接如下:
https://mp.weixin.qq.com/s/FuP9bCbaAVyoSVgRDhJj1Q
作者的公司采用IPO的方式,i即input请求入口,p是process逻辑处理,o是output信息输出。其实有点像工作台,接收信息-》处理信息-》输出信息,下面是图形说明:
统一的逻辑架构
职责说明:
这种分层想法对于我来讲有些启发,目前我们平台的项目目录是这样的:
按照文章中的分层思想,目前想对项目进行如下拆分和重组。
1、之前所有的业务逻辑和数据库操作逻辑全部都在service包中,可以把service分层为busService和dataService.
2、utils中的工具类都可以入到commponent中
3、dao包主要存放的是数据持久层的操作,可以转入到dataService中
4、entity的包原来是讲所有的对象都放入其中,这里应该对entity对象进行分类,区分dataEntity和viewEntity,同时新增requestEntity和responseEntity
5、简化controller中的代码,contoller主要是接收请求,依照上层调用下层的原则,将其中的逻辑代码下沉到busService中
按照这种分层,项目结构更加清晰,每个层级的职责也更加明确。