2016-04-05 15 views
0

У меня есть класс под названием Neuron, и когда объект Neuron срабатывает, он сигнализирует всем объектам класса Synapse для запуска. Я не уверен, как отправить сигнал Synapse из класса Neuron, может ли кто-нибудь объяснить?Java Discrete Event Simulation, как сигнализировать класс другого объекта

+0

Был ли один из 2 ответов предоставлен вам? –

ответ

0

Класс Neuron может быть источником события для класса Synapse, используя класс PropertyChangeSupport. Регистры Synapse регистрируются как слушатели, а класс Neuron запускает событие по мере необходимости.

0

Объект Neuron должен содержать список всех экземпляров объекта Synapse, только тогда он сможет отправлять события или сигналы объектам Synapse. Это похоже на шаблон Observer. Чтобы дать вам представление о том, как это будет работать, см. Следующие

class Neuron { 
    List<Synapse> subscribers = new ArrayList<>(); 
    private Neuron neuron; 

    private Neuron(){}   

    public static Neuron getInstance(){ 
     if(neuron == null) 
      neuron = new Neuron(); 
     return neuron; 
    } 

    public void addSubscribers(Synapse s){ 
     subscribers.add(s); 
    } 

    public void fireEvent(Event x){ 
     for(Synapse s: subscribers){ 
      subscriber.notifyEvent(x); 
     } 
    } 
} 





class Synapse{ 
    public void subscribe(){ 
     Neuron.getInstance().subscribe(this); 
    } 

    public void NotifyEvent(Event x){ 
     //to somthing... 
    } 
}