0

我正在使用一个MainAgent包含多个内部类的大型 Java 类,它们总共编写了 1500 多行代码,这使得维护这个类变得非常困难。我需要用单独的正常外部类替换这些内部类并在内部实例化它们MainAgent

这是一个类似于我的场景的虚拟结构。

class MainAgent {
    private List<String> agentNameList;
    private List<String> anotherList;
    private List<Behavior> behaviourList;

    // getters and setters

    public MainAgent(){
        // instantiate attributes
         behavourList.add( new AgentBehaviour());
    }
    
    
    class AgentBehaviour extends Behaviour {

        AgentBehaviour() {
            agentNameList.add(this.name);
            
            while(conditoin){
                cyclicBehaviour();
            }
        }

        private void cyclicBehaviour(){
            // access outer class attributes from this method
        }
    }
}

MainAgent 正在使用几个内部类,例如这个 AgentBehaviour 内部类。我需要将它们移动到单独的文件中,以获得更好的可维护性。由于内部类使用外部类的属性。迁移后,我需要以某种方式访问​​它们。有人可以建议我任何设计模式或与此问题类似的东西。

PS:如果除了将对象引用传递给在构造函数中MainAgent创建的每个行为对象之外,那会更好。MainAgent

例子:

behaviourList.add(new AgentBehaviour(this));
4

0 回答 0