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相似,并且它的所有调用都将直接转发到内部实例