zoukankan      html  css  js  c++  java
  • 我们为什么要进行模块化开发?

    在多人使用Maven协作开发项目时,尤其是稍微上点规模的项目,每个RD的工作都细分到具体功能和模块,有些模块甚至还要单独部署。

    我们假设有这样一个商城项目,包括以下几个模块:

    • 商城前台(shop)
    • 管理后台(admin)
    • 数据库交互模块(dao)
    • 通用业务模块(service)
    • 接口模块(api)
    • 通用工具(util)

    其中shop和admin需要单独部署,dao、service、util你可能想要一些经验丰富的人来维护,如果使用一个应用来管理的话,所有的功能和模块都会耦合在一起,所有人都可以随意修改代码,这显然不是我们所期望的。

    而且使用一个应用来管理的话,任何一个点的代码有变更,整个项目就需要重新build,使用模块化开发的另一个好处是如果dao的代码被修改,只需要重新build dao模块就可以了。web模块可以build成war,dao、service、util等可以build成jar,只需要配置好依赖关系,就可以实现模块间的解耦合。这样的设计才是遵循“高内聚,低耦合”设计原则的。

    我们如何进行模块化开发呢?

    我们使用上面的例子进行演示,先进行合理的优化,我们希望dao和service作为通用的底层工具来使用,把它们合并成一个核心模块(core),build成core.jar,简单的Maven模块化项目结构如下:

    ---------- mall         //顶级项目
       |------ pom.xml      //packaging = pom
       |------ mall-util    //通用工具
       |  |--- pom.xml      //packaging = jar
       |------ mall-core    //核心模块
       |  |--- pom.xml      //packaging = jar
       |------ mall-web-api //接口模块
       |  |--- pom.xml      //packaging = war
       |------ mall-web-admin//管理后台
       |  |--- pom.xml      //packaging = war
       |------ mall-web-shop//商城前台
       |  |--- pom.xml      //packaging = war
    

    这些模块中api、admin、shop均是可以单独部署的web应用,相互之间没有依赖关系,但都依赖于core模块,而core模块依赖于util模块。接下来我们按照上述确定的结构来搭建项目结构。

    原文

    https://blog.csdn.net/u011404265/article/details/54891229

  • 相关阅读:
    golang包管理工具glide安装
    kafka单机安装和启动
    python爬虫得到unicode编码处理方式
    束带结发洛杉矶到付款啦就是的开发
    是的发送到
    【业务】
    下载
    Peach+Fuzzer
    【Selenium】IE浏览器启动问题
    TestNG
  • 原文地址:https://www.cnblogs.com/jiftle/p/9088827.html
Copyright © 2011-2022 走看看