gpt4 book ai didi

java - 耦合度太高还是可以这样设计?

转载 作者:搜寻专家 更新时间:2023-10-31 20:18:20 27 4
gpt4 key购买 nike

假设我有一个 classA,它有自己的方法和自己的私有(private)字段以及你有什么(基本上遵守封装标准)。然后我有 classB,它的执行需要 的最终状态(通过 classA 的方法之一获得,这在某种程度上破坏了封装) A类。然后我们有 classC,它再次需要 classB 的最终状态。依此类推,比如 classM。这是否被认为耦合度太高?

编辑:好吧,假设我正在设计战利品系统,这取决于掉落是否基于击败的敌人(每个敌人都有不同的掉落几率)。如果敌人被打败,处理战斗元素的类(class)会掷骰子,不管它是否掉落东西,然后我需要将该状态传播给处理战利品分配的另一个类(class)。如果有掉落,处理战利品的类会执行战利品生成并分发给玩家,如果没有,则作废。

最终的执行是这样的:

classA a = new classA;
... //classA does its stuff
classB b = new classB(a.getFinalState());
... // again class does its stuff based on outcome of A
classC c = new classC(b.getFinalState());

等等。

最佳答案

是的。与级别 2 紧密耦合。这是可以避免的,并且被认为是降低代码灵 active 和可重用性的不良做法。测试是一场噩梦。

如果它们具有相互关联的属性,请考虑查看 Builder Pattern .

Builder pattern is to find a solution to the telescoping constructor anti-pattern

那个构造函数反模式是你目前所拥有的。

关于java - 耦合度太高还是可以这样设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33103666/

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