“计算机科学只有两件事:缓存 失效和命名事物“ - Phil Karlton。
我正在编写一个包含到期时间戳的对象的类。
API如下所示:
class ObjectWrapperWithExpiry<T> {
private T obj;
private long expiryTimestamp;
ObjectWrapperWithExpiry(T obj, int ttl) {
this.obj = obj;
expiryTimestamp = System.currentTimeMillis() + ttl * 1000;
}
T value() {
if(System.currentTimeMillis() > expiryTimestamp) return null;
return obj;
}
}
关于班级名称的任何建议?
答案 0 :(得分:2)
到期
如果您在代码中使用它,它将如下所示:
Expiring<String> str;
告诉你它是一个过期的字符串:)
答案 1 :(得分:2)
这类似于Java中的References。也许像TimedReference这样的东西。
编辑:您甚至可以扩展Reference(在Java中)并启用整个通知和队列内容。
答案 2 :(得分:0)
我认为你应该把它命名为
的timeStamp
TS
TSTAMP
.....实际上它甚至可以被命名为GiantHippo,只要你和另一个开发者知道它的作用以及为什么会这样做,它就不会改变任何东西。
答案 3 :(得分:0)
你可以做一些像ExpirableObject甚至是EpirarableWrapper的东西。
答案 4 :(得分:0)
好像它应该是一个副词。过期的怎么样?
答案 5 :(得分:0)
TimeStampExpiryObj
我喜欢你发布的报价:)
答案 6 :(得分:0)
我曾经将Transient<T>
用于此类课程。
答案 7 :(得分:0)
最终变得空虚? 超时?