Python项目架构的思考

旁边的昊天在做代码重构,我也趁便了解了一些,理解尚处于比较浅显的阶段。

目录

第一阶段

之前的想法是简单的重构,把数据库表和业务处理逻辑单独抽取剥离,形成以下的业务处理流程。

server --> url --> handler --> service --> data_factory --> model

第二阶段

但今天又给我讲了一下现在在做的重构思路,就是结合微服务和Python模块包来做一套基于模块拆分的架构。

思路是把一块块相同的业务单独做成一个个的模块包,然后通过网关的调取方式来调用这些单独的业务, 用微服务的思想把这些单独的业务模块包组装成一个整体的完整服务。

最终形成以下这样的一个业务处理流程。

server --> url --> handler --> [module_1, module_2, ...]
module(server --> url --> handler --> service --> data_factory --> model)

Sum

之前的重构想法感觉中规中矩,也就算是方便项目管理,代码风格看起来会比较清爽简洁,但是实际的重构效果不是特别明显。

但是现在的重构想法,目前看来是比较厉害的,能够用之前就提出的微服务的一个思想,然后结合Python项目的语言特性,利用模块包能够很好的解决项目日趋庞大后的代码管理、维护和新增,又能很好的达到业务分块重用,而且这种做法也保持了Python的风格,个人感觉完全能够达到重构的目的,并为以后的Python项目提供很好的借鉴思路。

Last Updated: 2019/12/6 18:34:45