java - 方法有时会返回值,有时不会。如何重构它?
问题描述
界面如下所示:
public interface RunnableAction
{
Optional<?> run(final Action action, final Context Context);
}
这个接口有很多不同的实现。
问题是:
一些Action 需要返回一些数据,例如ActionReadFromFile,但其中一些无缘无故返回一些东西(在这种情况下我返回Optional.empty()),例如ActionCloseWindow。如何让它好一点?即在需要时返回,当没有任何有意义的东西可以或应该返回时不返回任何东西。这应该通过消除'return Optional.empty()'或'.get()'之类的东西来使代码更清晰。
有什么建议或提示吗?
解决方案
我认为更好的解决方案是采用 c++ 风格:D 不要返回值,而是传递一些值并让它在方法中改变。例如,传递所需数据的集合。在那次调用之后,collection 是否为空:
public interface RunnableAction<T>
{
void run(final Action action, final Context Context, Collection<T> pickedData);
}
推荐阅读
- azure - 清理 Service Fabric 群集上的旧 Docker 映像
- java - 获取 java.lang.string 从未使用过的错误
- excel - VBA - 尝试遍历所有行时跳过行
- pdf - 当我切换到使用 form_with 而不是 form_tag 时,Wicked_PDF 不下载
- postgresql - 将 3 列自动连接成 1 列 Postgresql
- python - 如何为 --py-files 依赖项创建 zip 文件
- sql-server - 在 SQL Server 中按组将行透视到列
- java - Spring 的 @Scheduled(fixedDelay=...) 在午夜停止
- html - 使子元素超出其父宽度
- java - 是否可以使用应用程序在内部销毁手机?