我有一个类Session
可以跟踪一堆计数器并保存到数据库中。我的问题主要是一个类设计问题,而不是特定于 Android,但我正在使用 Android,这只是因为我想确保写入数据库不会发生在主线程上。
我正在考虑persist()
将会话写入数据库的方法的两种替代方法(这可能会很慢,而且我并不太担心它是否/何时成功):
内部并发和执行
public class Session()
{
//.. getters and setters...
void persist()
{
Runnable r = new Runnable(){
// Implement logic in run() with slow
// db operations
};
ExecutorService executor = getExistingExecutor();
executor.submit(r);
}
}
并发和外部执行
public class Session()
{
//.. getters and setters...
void persist()
{
// Implement logic in run() with slow
// db operations
}
}
从对象设计的角度来看,我基本上想知道,整齐地包装可能运行缓慢的代码以使其易于使用的最佳方法是什么?如果存在分工问题,我也很感兴趣(Session
会话的存储值,但也知道如何保持自身......我无法确定这是好的 OO 还是过于复杂)。