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

Java 怎么较好的拆分类文件?

  •  
  •   tctc4869 · 2020-05-20 13:35:29 +08:00 · 1712 次点击
    这是一个创建于 1678 天前的主题,其中的信息可能已经有所发展或是发生改变。

    java 有能像 c#的部分类,但运行编译时是看成一个类的这类拆分方式,不知道 java 现在更新了类似的功能没有,不过除了这个拆分方式还有其他的方式么?

    我指的是业务类代码拆分,工具类代码的拆分就不用说了

    TtTtTtT
        1
    TtTtTtT  
       2020-05-20 13:46:55 +08:00
    灵活使用 Java8 interface default method 可以实现这一点。。
    tctc4869
        2
    tctc4869  
    OP
       2020-05-20 13:49:12 +08:00
    @TtTtTtT
    Java8 interface default method,用在业务代码上?
    tctc4869
        3
    tctc4869  
    OP
       2020-05-20 13:50:10 +08:00
    @TtTtTtT 有个问题,如果是 Controller 类的话,拆分怎么办?
    james122333
        4
    james122333  
       2020-05-20 13:51:58 +08:00
    放弃 java 吧 (滑稽)
    TtTtTtT
        5
    TtTtTtT  
       2020-05-20 14:02:33 +08:00
    举个例子吧:

    interface CommonController<T> {
    Dao<T> getDao();

    @RequestMapping(value = "/",method = RequestMethod.GET)
    default List<T> get() {
    return getDao().getList();
    }
    }

    @RequestMapping("/user")
    class UserController implements CommmonController<User> {
    @Getter
    private Dao<User> dao;
    }
    ConradG
        6
    ConradG  
       2020-05-20 14:12:49 +08:00
    java 目前不直接提供这种方式。
    间接方式之一是从头继承到尾。

    不过 spring mvc 的 controller 不存在这个问题,同一个类级的 @RequestMapping 可以在多个 controller 里使用。
    james122333
        7
    james122333  
       2020-05-20 14:44:43 +08:00
    人生就不该浪费在底层乱七八糟的语言上
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5906 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 01:51 · PVG 09:51 · LAX 17:51 · JFK 20:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.