如燕盘旋而来的思念 2013-08-16 05:45 采纳率: 0%
浏览 2661
已采纳

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

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

computer myComputer;
}

class computer
{

person myOwner;
}

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

  • 写回答

3条回答

  • todd_leftcode 2013-08-18 10:25
    关注

    小明应该不是抱着电脑出生的, 而HP电脑在生产时应该也没有打着小明的签。 所以构造时可能不必提供相应的参数。当然抽象可能不一定需要完全遵照现实。

    其次,电脑一般情况下对于谁是自己的Owner可能不太关心,如果可以去除这种依赖最好,单向依赖比双向依赖简单, 简单就一定是好的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题