public interface Behaviour<D extends GameComponent, S, R extends Result<S>> {
public String getName();
public R execute(D component, S state);
}
由于实施中的行为如此多样化,我担心状态将成为具有许多不同领域的上帝对象。对于只需要一部分状态而不是所有内容的行为,这似乎有点过头了。首先,这甚至是一种反模式,然后我将如何解决它?
我已经考虑过这样做,以便行为记录它在创建时需要的状态或段,但我只是不确定它会是什么样子。此外,我考虑让 state 成为一个存储,其中所有字段都存储在一个键和值下。我唯一不喜欢的是必须在检索时强制转换对象。