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是一种有效的替代方案.它总是取决于您的原始设计的目标.

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量