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

2020-05-20 13:35:29 +08:00
 tctc4869

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

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

1712 次点击
所在节点    Java
7 条回复
TtTtTtT
2020-05-20 13:46:55 +08:00
灵活使用 Java8 interface default method 可以实现这一点。。
tctc4869
2020-05-20 13:49:12 +08:00
@TtTtTtT
Java8 interface default method,用在业务代码上?
tctc4869
2020-05-20 13:50:10 +08:00
@TtTtTtT 有个问题,如果是 Controller 类的话,拆分怎么办?
james122333
2020-05-20 13:51:58 +08:00
放弃 java 吧 (滑稽)
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
2020-05-20 14:12:49 +08:00
java 目前不直接提供这种方式。
间接方式之一是从头继承到尾。

不过 spring mvc 的 controller 不存在这个问题,同一个类级的 @RequestMapping 可以在多个 controller 里使用。
james122333
2020-05-20 14:44:43 +08:00
人生就不该浪费在底层乱七八糟的语言上

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/673603

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX