我已经建立了一个可插入系统,该系统可以从系统环境中检索没有等效设置器的数字值。
例如:
此接口指定检索器的合同
public interface ValueRetriever
{
double retrieveValue();
}
Run Code Online (Sandbox Code Playgroud)
这是两个实现:
public class TotalMemoryRetriever implements ValueRetriever
{
@Override
public double retrieveValue()
{
return Runtime.getRuntime().totalMemory();
}
}
public class FreeMemoryRetriever implements ValueRetriever
{
@Override
public double retrieveValue()
{
return Runtime.getRuntime().freeMemory();
}
}
Run Code Online (Sandbox Code Playgroud)
其他可能性是返回系统负载,可用磁盘空间等。
我已经建立了另一个层,该层可以为检索到的值计算不同时间范围内的移动平均值,这就是为什么有一个用于检索的接口很有用的原因。这使我可以通过“插入”每个特定的检索器将移动平均机制与许多“检索器”实现一起使用。
为此,我选择了“猎犬”一词,但我认为可能会有一个更好的词或更好的方法来做到这一点。我在这里可以使用最佳实践还是其他惯例?