首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

Java 的包结构该怎么定义

  •  
  •   LosLord · 16 天前 · 965 次点击

    写了很长一段时间 Java 了,但是之前一直都是自己开发,也没个规范,模块和功能有时候乱七八糟弄在一起,这样接下来也不是个事,所以想请教一下 规范的包结构该是什么样的。
    我也看了一下各个开源项目,因为基本都不是业务,都是类似于工具的开源项目,包结构比较好分。

    比如有个大项目: 一个系统有多个功能模块,有定时任务,有 Aop,自定义的网络框架,Bean 无数,业务基于 Spring 编写。 像这样的项目该怎么定义包结构。

    8 回复  |  直到 2018-07-03 12:31:07 +08:00
        1
    KentY   16 天前
    基本上,一种是按技术角度分, 比如就是最烂大街的 controller, dao, service, utils....
    还有一种, 如果业务上的各个分类的功能很相似, 又挺繁多, 为了维护某个业务方便, 也可以按业务来 /usermgmt/dao, usermgmt/service... /customermgmt/dao, /customermgmt/service etc.

    这个东西统一就好, 并不影响代码的质量。
        2
    LosLord   16 天前
    @KentY #1 我先在是用第一种,小项目还好,项目一大,就乱七八糟的。第二种也想过,但是有时候共用的类都不知道放在哪
        3
    airfling   16 天前 via Android   ♥ 1
    我基本上都是相同或者关联性比较强的放在一起
        4
    zjsxwc   16 天前 via iPhone   ♥ 1
    没什么好考虑的,无脑根据被依赖相关程度划分代码模块,当然要符合 solid 原则写代码,嗯,也就是跟着感觉走,反正重构时挪一下位置也快的
        5
    kanezeng   16 天前   ♥ 1
    真的大项目,就还是拆成微服务的小项目吧,对大项目来说还是值得的
        6
    feiyuanqiu   16 天前   ♥ 1
    按模块分呗,用 maven 组织 module,把领域模型、基础服务拆分出单独的 module,把任务、web 也拆成单独的 module
        7
    laball   16 天前   ♥ 1
    建议按适当的粒度划分模块吧,不过,有的时候不是很好把握。
    可以先按照一个大的规则划分,然后,等模块达到一定的复杂程度后,再进行拆分;
        8
    archangels   16 天前   ♥ 1
    可以按模块分,然后按照自己的兴趣给各个模块取个别名
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   2024 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 15ms · UTC 13:35 · PVG 21:35 · LAX 06:35 · JFK 09:35
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1