1

我正在编写 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(...) 等。我的疑问是如何实现这些方法。因为我有两大类操作(一个在用户上,另一个在文件上)我想创建类(用户和文件)并在它们上实现公共静态方法,或者,同样,创建两个单例。然后应用层将不得不调用方法,而不必每次都创建和销毁对象。这是实现我的层的好方法吗?以这种方式,并发处理得当,还是有更好的方法(也许是一种模式)来最大化性能和多线程?当然这不是内存绑定层,因为上层不必不断地创建对象。谢谢

4

1 回答 1

1

有很多关于对象是否应该(或不)负责持久化自身的讨论,也就是说,User 类是否应该具有 Save 方法?这得看情况。然而,目前我们几乎看不到这种模式。

我认为持久性逻辑必须在数据访问层中,可能在存储库(UserRepository 和 FileRepository)中。这与性能和多线程无关,因为这两个问题(性能和并发性)都在数据库中。

这是我的看法。

于 2013-01-27T19:03:15.033 回答