java – 太高耦合或可以这样设计?

假设我有一个classA,它有自己的方法,有自己的私有字段和你有什么(基本上遵循封装标准).然后我有classB,它需要执行最终状态(通过classA的一个方法获得,这有点打破了封装)的classA.然后我们有classC,再次需要classB的最终状态.依旧等等,让我们对classM说.是否认为耦合度太高?

编辑:好吧,假设我正在设计Loot系统,这取决于是否根据敌人的失败发生掉落(每个敌人有不同的掉落几率).如果敌人被击败,那么处理战斗物的类会掷骰子,无论它是否掉落,然后我需要将该状态传播给处理战利品分配的其他类.如果有掉落,则类处理战利品执行战利品生成并分配给玩家,如果没有,则无效.

最终的执行将是这样的:

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());

等等.

最佳答案
编辑:您可以通过遵循Delegation Pattern及其兄弟Decorator Pattern来实现您的目标

正如已经建议的那样,Builder Pattern是一种有效的替代方案.它总是取决于您的原始设计的目标.

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...