问答详情
源自:3-2 Spring Boot 多模块 Spring Boot 项目

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

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

提问者:aNthony_chi 2018-07-08 17:38

个回答

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

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

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

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

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

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

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

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