我应该如何命名一个只有 getter 的 Java class?
What should I name a Java class that only has a getter?
我已经建立了一个可插拔系统,可以从系统环境中检索数值,它没有等效的设置器。
例如:
该接口指定了检索器的合约
public interface ValueRetriever
{
double retrieveValue();
}
这里有两个实现:
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();
}
}
其他可能性是 return 系统负载、空闲磁盘 space 等
我构建了另一个层,用于计算检索值在不同时间跨度内的移动平均值,这就是为什么有一个检索接口很有用。这让我可以将移动平均机制与 "plugging in" 每个特定检索器的许多 "retriever" 实现一起使用。
我为此选择了 "retriever" 这个术语,但我的感觉是可能有更好的术语或更好的方法来做到这一点。我可以在这里使用最佳实践或其他惯例吗?
您可以将 类 命名为 TotalMemorySensor
和 FreeMemorySensor
并使它们都实现 MemorySensor
接口。
我不确定 RAM、CPU、磁盘和其他统计数据是否应该使用相同的接口。检索 double
甚至意味着什么?是 KB、MB、GB 吗?感觉 DiskSensor
应该有 long totalSpaceInBytes()
而 CpuSensor
应该有 double loadAverage(TimeUnit)
.
一个ValueRetriever
可以代表任何意思,我们已经有了一个DoubleSupplier
。
我已经建立了一个可插拔系统,可以从系统环境中检索数值,它没有等效的设置器。
例如:
该接口指定了检索器的合约
public interface ValueRetriever
{
double retrieveValue();
}
这里有两个实现:
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();
}
}
其他可能性是 return 系统负载、空闲磁盘 space 等
我构建了另一个层,用于计算检索值在不同时间跨度内的移动平均值,这就是为什么有一个检索接口很有用。这让我可以将移动平均机制与 "plugging in" 每个特定检索器的许多 "retriever" 实现一起使用。
我为此选择了 "retriever" 这个术语,但我的感觉是可能有更好的术语或更好的方法来做到这一点。我可以在这里使用最佳实践或其他惯例吗?
您可以将 类 命名为 TotalMemorySensor
和 FreeMemorySensor
并使它们都实现 MemorySensor
接口。
我不确定 RAM、CPU、磁盘和其他统计数据是否应该使用相同的接口。检索 double
甚至意味着什么?是 KB、MB、GB 吗?感觉 DiskSensor
应该有 long totalSpaceInBytes()
而 CpuSensor
应该有 double loadAverage(TimeUnit)
.
一个ValueRetriever
可以代表任何意思,我们已经有了一个DoubleSupplier
。