我的部分GUI在Foo对象上运行。 Foo对象可以来自多个来源,但我希望GUI能够平等对待它们。换句话说,我不希望GUI管理数据库连接,文件句柄等......所以我想出了以下对象模型。
class Foo {
// some properties
}
class LocalFoo extends Foo {
// local id
// SQLite connection
// constructor that populates Foo's properties from the database
// destructor to clean-up
// override property setters to write to database
}
如果每个对象都有自己的数据库连接,以下方法是否会导致性能问题或模糊错误(即句柄太多)。基本上,对同一个SQLite数据库有1000个文件句柄会有问题吗?
根据我的理解,可以使用共享缓存模式(https://www.sqlite.org/sharedcache.html),通过让SQLite为所有连接使用单个文件句柄来防止创建多个文件句柄。使用共享缓存模式时,是否可以拥有1000个数据库连接?