gpt4 book ai didi

python - 在构造函数中修改其他对象的状态: design no-no?

转载 作者:行者123 更新时间:2023-11-28 21:30:44 25 4
gpt4 key购买 nike

我正在重构一些代码并发现了这个(当然是简化的,但总体思路):

class Variable:
def __init__(self):
self.__constraints = []

def addConstraint(self, c):
self.__constraints.append(c)

class Constraint:
def __init__(self, variables):
for v in variables:
v.addConstraint(self)

Constraint 的构造函数修改其他对象的状态而不是它自己的状态,这一事实对我来说有点奇怪。其他人怎么看 - 这可以吗,还是重构的主要候选者?

编辑:我关心的不是父/子关系,而是它是在构造函数内部而不是在单独的方法中链接的。

最佳答案

我将其视为一种 self 注册模式。 “你好,我是新来的,请允许我加入。”

我可能更喜欢使用不同名称的方法,以便目的更明确,但我实际上非常喜欢这种方法。

关于python - 在构造函数中修改其他对象的状态: design no-no?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1573054/

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