如何组织各种类中重复的对象?Java的

ric*_*oma 1 java class object-oriented-analysis

我正在用Java开发一个基本的纸牌游戏,我已经准备了一组Managers在它们之间进行交互的子类(like PlayerManager interacting with DeckManager)但是,要实现这一点,我需要在每个需要它的类中放置一个Manager.所以,例如:

if PlayerManager needs to a card from a deck --> executes drawCard() inside DeckManager,
so inside PlayerManager there's a DeckManager object.
Run Code Online (Sandbox Code Playgroud)

问题是,如果这是正确的方法,我不会这样做,因为每次Manager需要另一个时,我都必须在需要它的人中创建所需的经理.

有没有更好的办法?我想过做一个包含所有的东西Managers并制作它的类static,但我不知道它是否在Java中是好的.

Bre*_*ail 5

不推荐单身人士.它们阻止多个实例在同一个进程中运行(这对于你的用例可能并不重要,但一般来说),并且它们使单元测试变得更加困难(你不能模拟DeckManager实例,这意味着测试那两个类是耦合的,不能独立测试).

通常,您可以在创建对象时将管理器传递给对象.例如,如果你有一个Game对象DeckManager,它可以创建每个对象PlayerManager并将自己(或DeckManager)传递给该对象的构造函数.