Ho due classi. 1. Nodo 2. MixedStateManager
Classe Node:
La classe nodo mantiene lo stato dei nodi nel sistema. Uno di questi dati è stato.
public class Node
{
private int state;
public void setState(int s)
{
state = s;
}
public int getState()
{
return state;
}
}
MixedStateManager:
MixedStateManager vede se tutti i nodi nel sistema si trovano nello stesso stato oppure no. Se i nodi non hanno lo stesso valore per il valore di stato, allora il sistema si dice che sia in MixedState. Ho una variabile mixedState per lo stesso. L'ho reso statico perché, se il valore viene modificato da un'istanza della classe, dovrebbe essere visibile da altri. Un'altra cosa da notare è che MixedStateManager è chiamato da diversi thread che cambiano il valore dello stato dei nodi.
public class MixedStateManager{
public static boolean mixedState;
public boolean isMixedState(){
return mixedState;
}
public void setMixedState(){
// get all instances of Node class;
if state of all instances are same
mixedState = true;
else
mixedState = false
}
}
Domanda: poiché MixedStateManager ha solo un dato statico, ha senso creare un'istanza di questa classe e quindi impostare il valore. Oppure posso anche rendere statici tutti i metodi?
Le risposte saranno apprezzate. Grazie