Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 不确定如何将代理与数据库连接隔离_Objective C_Oop_Inheritance_Proxy_Domain Driven Design - Fatal编程技术网

Objective c 不确定如何将代理与数据库连接隔离

Objective c 不确定如何将代理与数据库连接隔离,objective-c,oop,inheritance,proxy,domain-driven-design,Objective C,Oop,Inheritance,Proxy,Domain Driven Design,我有以下资料: 抽象的人物对象 从抽象继承的Person对象 一个从抽象继承的Person代理对象,它有一个额外的字段,因为它本质上是一个friend 一个人的知识库和DAO,可以获取我需要的一切 问题出在这里。在我检索一个人的数据时,我可以检索一个ID列表,这是他们的朋友列表。如果我在抓到那个人之后马上构建这些对象,那就太贵了。所以我构建了一个代理作为占位符。然而,当我需要使用数据时,我仍然需要一个数据库连接来检索数据。如何准确地填充代理的内部Person对象,而不让它像DAO那样进行内部

我有以下资料:

  • 抽象的人物对象
  • 从抽象继承的Person对象
  • 一个从抽象继承的Person代理对象,它有一个额外的字段,因为它本质上是一个friend
  • 一个人的知识库和DAO,可以获取我需要的一切

问题出在这里。在我检索一个人的数据时,我可以检索一个ID列表,这是他们的朋友列表。如果我在抓到那个人之后马上构建这些对象,那就太贵了。所以我构建了一个代理作为占位符。然而,当我需要使用数据时,我仍然需要一个数据库连接来检索数据。如何准确地填充代理的内部Person对象,而不让它像DAO那样进行内部获取?还是我搞错了,它应该这么做

好的,我已经弄明白了。代理对象可以具有数据库连接。唯一需要注意的是,如果对象在某个时间点被序列化,可能会发生不好的事情,尽管我不会这样做。我所做的是在初始化DAO时将代理传递到DAO中,一个用于轻松创建对象的工厂,以及一个对象的内部实例。之后,api必须与您代理的对象的api相似,并且它的所有调用都将直接转发到内部实例