我正在编写Web服务的数据库管理器层。 我必须决定实现我的库:这就是情况。 我有一个班,PersistenceUnit:
private static RazoooCore rc;
private static DBInstance db;
protected ODatabaseDocumentTx getDb(){return db;}
protected RazoooCooore getRc(){return rc;}
public static void startPersistence (){
//here I get an instance of rc and db
}
启动我的数据库服务并允许我连接到它。我想要的是编写实现持久化方法的类,如addUser(...)或deleteFile(...)等。 我怀疑的是如何实现这些方法。因为我有两大类操作(一个在用户上,另一个在文件上)我想创建到类(用户和文件)并在它们上实现公共静态方法,或者,并且是相同的,创建两个单例。然后应用程序层必须调用方法,而不必每次都创建和销毁对象。 这是实现我的图层的好方法吗?通过这种方式,处理良好的并发性,还是有更好的方法(也许是一种模式)来最大化性能和多线程? 当然这不是内存绑定层,因为上层不必连续 创建对象。 谢谢
答案 0 :(得分:1)
有很多关于对象是否应该(或者不)负责持久化的讨论,这是,如果User类有一个Save方法吗?这得看情况。但是,目前我们几乎没有看到这种模式。
我认为持久性逻辑必须位于数据访问层,可能位于存储库(UserRepository和FileRepository)中。这与性能和多线程无关,因为这两个问题(性能和并发性)都在数据库中。
这是我的意见。