两个相引用的类工厂模式创建时死循环的问题 -问答-阿里云开发者社区-阿里云

开发者社区> 蛮大人123> 正文

两个相引用的类工厂模式创建时死循环的问题

2016-02-18 16:50:41 1441 1

假设有电脑、人 这么两个类,如图所示。
class person
{

computer myComputer;
}

class computer
{

person myOwner;
}

用工厂模式
如果我要创造小明这个人,那么我要用人的工厂去创造小明,在创造的时候我要set他有个HP电脑,
那么我又要用电脑工厂去创造HP电脑。但是创造HP电脑的时候我又要去用人的工厂创造小明这个人,这不就是循环下去了吗?
所以我纳闷了,1要么这样设计类是不正确的,2要么有其他办法解决这个问题

取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 18:44:11

    小明应该不是抱着电脑出生的, 而HP电脑在生产时应该也没有打着小明的签。 所以构造时可能不必提供相应的参数。当然抽象可能不一定需要完全遵照现实。
    其次,电脑一般情况下对于谁是自己的Owner可能不太关心,如果可以去除这种依赖最好,单向依赖比双向依赖简单, 简单就一定是好的。

    0 0
+关注
蛮大人123
我说我不帅他们就打我,还说我虚伪
0
文章
7733
问答
问答排行榜
最热
最新
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载