加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 01:03:56 所属栏目:Java 来源:网络整理
导读:假设我有一个classA,它有自己的方法,有自己的私有字段和你有什么(基本上遵循封装标准).然后我有classB,它需要执行最终状态(通过classA的一个方法获得,这有点打破了封装)的classA.然后我们有classC,再次需要classB的最终状态.依旧等等,让我们对classM说.是否

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读