Architecture oriente évenement
Bonjour,
j'essai de passer une application Swing en JSF (de factoriser plus exactement).
J'ai les idées suivantes, que j'aimerai confirmer:
- En swing j'ai des singletons donc des getInstance(). Pour faire un getInstance en JSF il faut dans le getInstance recupérer l'instance avec le FaceContext:
Code:
1 2 3 4 5 6
| FacesContext context = FacesContext.getCurrentInstance()
.getCurrentInstance();
GUIManager guiManager = (GUIManager) context
.getApplication().createValueBinding("#{guiManager}")
.getValue(context);
return guiManager; |
c'est un singleton au point de vue de JSF (un managed bean).
- Ensuite j'ai en Swing deux singletons: GuiManager et ModelManager avec le premier, qui est à l'écoute des évènements du ModelManager. Si je ne me trompe je ne peux pas faire monModelManager.addEventListener(monGuiManager). Ceci car il n'y a pas vraiment de perennité des instances en JSF non.
Concretement j'ai un dialog JSF pour créer un nouvel objet, je submit ce qui appel un action dans le GuiManager. Le GuiManager creer un objet puis le donne au model manager pour ajout au model (tout va bien jusque là). Enuiste le model envoi un évènement d'ajout au model, et le GuiManager met à jour la vue.