tctc4869
V2EX  ›  Java

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

  •  
  •   tctc4869 · May 20, 2020 · 2176 views
    This topic created in 2197 days ago, the information mentioned may be changed or developed.

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

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

    TtTtTtT
        1
    TtTtTtT  
       May 20, 2020
    灵活使用 Java8 interface default method 可以实现这一点。。
    tctc4869
        2
    tctc4869  
    OP
       May 20, 2020
    @TtTtTtT
    Java8 interface default method,用在业务代码上?
    tctc4869
        3
    tctc4869  
    OP
       May 20, 2020
    @TtTtTtT 有个问题,如果是 Controller 类的话,拆分怎么办?
    james122333
        4
    james122333  
       May 20, 2020
    放弃 java 吧 (滑稽)
    TtTtTtT
        5
    TtTtTtT  
       May 20, 2020
    举个例子吧:

    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  
       May 20, 2020
    java 目前不直接提供这种方式。
    间接方式之一是从头继承到尾。

    不过 spring mvc 的 controller 不存在这个问题,同一个类级的 @RequestMapping 可以在多个 controller 里使用。
    james122333
        7
    james122333  
       May 20, 2020
    人生就不该浪费在底层乱七八糟的语言上
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   916 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 466ea39e · 35ms · UTC 20:51 · PVG 04:51 · LAX 13:51 · JFK 16:51
    ♥ Do have faith in what you're doing.