Java 对于像Runnable这样的接口来说,这是个好名字,但会返回一个结果吗?
我正在寻找一个界面的好名字,它有一个Java 对于像Runnable这样的接口来说,这是个好名字,但会返回一个结果吗?,java,naming,Java,Naming,我正在寻找一个界面的好名字,它有一个run方法,比如Runnable,但返回一个结果 我目前考虑的选项是: 计算->过于数学化,并且不是所有返回结果的东西都是计算 函数->非常接近我所看到的,但它仍然太数学化了 操作->是一个错误,因为它不需要产生结果 操作->这将是我目前最喜欢的,但从数学上讲,它可能只描述了一段关系,而不会产生一个更像条件的结果。和行动一样 Provider->Provider意味着将某物提供给某人/某物,这并不总是如此,因为返回这样一个runnable的结果是很常见的 供应
run
方法,比如Runnable,但返回一个结果
我目前考虑的选项是:
有没有人有更好的命名想法,或者知道哪些框架能够很好地使用现有的(或目前错过的)替代方案?现有的接口如何
公共接口可调用{
/**
*计算结果,如果无法执行此操作,则引发异常。
*
*@返回计算结果
*@如果无法计算结果,则引发异常
*/
V call()抛出异常;
}
在JVM中内置并调用方法call()
因此,Callable
返回类型V
,它还可以抛出异常
接口使用它来管理多线程处理
是指向Oracle ExecutorService教程的链接您对制作人的看法如何?如果找不到合适的名称,您的设计可能有问题。计算机科学中只有两个难题:缓存失效和命名。-菲尔·卡尔顿。我喜欢OPs努力寻找一个合适的名字。虽然明确的问题是基于意见的,但这可能是一个XY问题,而潜在的X不是。这样一个接口已经存在,并且已经有了一个名称。我需要重新实现这些接口,以支持变量参数,并且可以用lambda表达式()表示。因此,我希望通过在整个平台/框架中重复使用某些名称(如producer)来找到足够好的名称,而不会增加混淆。Java 8的
供应商
可能是OP想要的-它没有抛出异常
,这一点没有提到。如果您的猜测是正确的,OP还可以通过一个接口扩展Callable,该接口覆盖了call()
,没有throws
Callable.call()
建议可以调用的东西可能有副作用,也可能没有副作用,并返回结果Supplier.get()
建议一些主要目的是返回结果的内容。供应商提供的内容通常被建议已经存在。Callable并不是什么一针见血的东西,但runnable也相当广泛,所以我想我会走这条路,希望保留一些珍贵的名字,比如制作人或供应商,甚至运营/功能。制作人也非常接近,因为它产生了一个结果,它不符合Getter的想法,但非常接近。?这是我不能理解的。有什么帮助吗?雷达上没有这个。我想我会选择callable,因为它已经很老了,被接受了,并且可以与runnable区分开来。Producer更接近于它是什么,但最终Producer是我想要为Producer+Consumer模式保留的东西,当涉及到事件处理时,它也得到了实现。所以非常感谢你的建议。
public interface Callable<V> {
/**
* Computes a result, or throws an exception if unable to do so.
*
* @return computed result
* @throws Exception if unable to compute a result
*/
V call() throws Exception;
}