2012-02-05 24 views
1

我有以下几点:不知道如何代理从数据库连接隔离

  • 提要Person对象
  • 一个Person对象从抽象
  • 一个人代理从继承对象继承抽象的,并有一个额外的领域,因为这基本上是一个朋友
  • 人库和DAO是获取我需要的一切

这是问题所在。当我检索一个人的数据时,我可以检索他们的朋友列表的ID列表。如果我在获取该人后立即创建这些对象,那就太昂贵了。所以我建立了一个代理作为占位符。然而,当我需要使用它时,我仍然需要一个数据库连接来检索数据。我如何填充代理的内部Person对象,而不需要像内部获取DAO一样?或者我有错,是否应该这样做?

回答

0

好吧,我想通了。代理对象可以有数据库连接。唯一的警告是,如果对象在某个时间点被序列化,那么可能会发生不好的事情,尽管我不会那样做。我所做的是在初始化DAO时使用我的代理服务器通道,为便于创建对象的工厂和我的对象的内部实例。之后,api必须与您所代理的对象类似,并且其所有调用都将简单地转发给内部实例。