多模块构建为什么不按业务拆分构建呢?

来源:3-2 Spring Boot 多模块 Spring Boot 项目

aNthony_chi

2018-07-08 17:38

多模块构建为什么不按业务拆分构建呢,而是按架构的层来拆分呢?

写回答 关注

2回答

  • 纪宇航
    2018-07-26 23:17:32
    已采纳

    说一下我理解的按层次构建的好处,按层次构建时顶层结构可以共用底层结构,例如一个项目顶层应用有api服务器、后台管理服务器、文件导出报表服务器、定时任务服务器等。他们共同使用底层的dao层或者说实体层基础类,如果让他们分别实现时底层的实体类就会有重复的工作,并且不利于维护。

    按层次构建也有坏处,第一个是项目庞大时找类不好找,第二个是可能部分应用有许多用不到的类、用不到的方法会一起打包放到服务器中。

    按业务模块进行构建有许多好处,找类好找,一个模块的类都放到一块清晰易懂。对于大型项目尤其是分布式项目,不同应用处理不同的业务尤其合适。但是他解决不了同一个模块,底层模块被共用时产生的,不利于维护问题和重复工作的问题。

    然后又有人会按照业务模块再按照层次进行拆分,这种方式对开发者和设计者都是种考验,尤其是小型项目,会有杀鸡用牛刀的感觉。

    具体项目拆分构建的思路,一方面取决于项目本身的特性,另一方面也是最重要的方面取决于,搭建项目的人最喜欢哪种方式

    aNthon...

    很认真的看完了,我觉得不管是按业务拆分还是按层次拆分都有利弊。我公司原来就是按层次拆分的,小公司,10人左右,开发起来非常不方便,更适合每个人单独负责一块业务,一快纯净的业务,就像积木一样,把各种纯净业务的积木搭起来就是完整的项目。后来我主导按业务模块拆分后,效率提升了不少,所以没有对错,要具体问题具体分析。

    2018-08-04 15:20:01

    共 2 条回复 >

  • 慕雪2327578
    2018-08-13 17:39:51

    按业务分模块,在模块内再分层

    aNthon...

    这样是比较合理的

    2018-08-19 18:24:09

    共 1 条回复 >

Spring Boot 2.0深度实践-初遇Spring Boot

Spring Boot 2.x/Web Flux/多模块化项目实践

75471 学习 · 212 问题

查看课程

相似问题