Le repository n'est qu'une idée tu peux le gérer différemment.
soit une version plus générique qui fera éventuellement des cast implicite
Ce qui donnerait pour ton exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public class Repository<T> { private Map<String, T> components = new HashMap<String, T>(); public void addComponent(String key, T component) { components.put(key, component); } public T removeComponent(String key) { return components.remove(key); } public <C extends T> C getComponent(Class<C>, String key) { return (C) components.get(key); } public T getComponentString key) { return components.get(key); } public Set<Entry<String, T> getComponentEntries() { return components.entrySet(); } }
soit une version sans cast:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 GUIRepository.getInstance().getComponent(MaClasse.class, "nomObjetMaClass").maMethodeDésirée();
Ca dépend de tes besoins, l'un est générique l'autre est spécifique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public class Repository { private Object a; private Object b; public Object getA() { return a; } public void setA(Object newA) { a = newA; } public Object getB() { return b; } public void setB(Object newB) { b= newB; } }
Le repository permet de stocker un ensemble de variable dans un espace commun. C'est pratique pour éviter de passer 999 paramètres à tes méthodes/constructeurs, mais ça fait aucun pont entre les objets.
Partager