gpt4 book ai didi

oop - 状态模式似乎使用循环引用。为什么没问题?

转载 作者:行者123 更新时间:2023-12-03 13:33:54 24 4
gpt4 key购买 nike

我仍在努力了解循环引用的危险。我经常读到它们应该只在极少数情况下使用。但是,在规范状态模式中,“状态”对象需要引用“上下文”对象才能引起转换,而“上下文”对象需要引用“状态”对象才能触发它们的行为。

这不是循环引用吗?如果不是,它与循环引用有什么关系?如果是这样,为什么这是可以接受的?

http://en.wikipedia.org/wiki/State_pattern

http://sourcemaking.com/design_patterns/state

最佳答案

两个对象可以操作 彼此不一定引用 对彼此。一般来说,循环引用是类 A 和 B 都有一个引用另一个的成员变量的情况。正如维基百科文章中实现的那样,没有循环引用,因为当 Context 存储对 State 的引用时,Context 作为参数传递到 State 中,并且当方法在没有 State 的情况下完成执行时它超出范围存储了对它的引用。

关于oop - 状态模式似乎使用循环引用。为什么没问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11598055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com