wenn Klasse A mit einer Liste arbeitet und diese Liste auch in Klasse B verwendet wird, reicht es dann nicht aus, diese Liste einmal an Klasse B zu übergeben?
Code: Alles auswählen
class A(object):
def __init__(self, stuff):
self.stuff = stuff
def set_viewer(self, viewer):
self.stuff_view = viewer
def add_any(self, any_):
self.stuff.append(any_)
self.stuff_view()
class B(object):
def __init__(self, content):
self.content = content
def show(self):
print 'Tataa: {0}.format(self.content)
Code: Alles auswählen
In [25]: c = []
In [26]: a = stuff.A(c)
In [27]: b = stuff.B(c)
In [28]: a.set_viewer(b.show)
In [29]: a.add_any(1)
Tataa: [1]
In [30]: a.add_any(2)
Tataa: [1, 2]
In [31]: c.append(3)
In [32]: b.show()
Tataa: [1, 2, 3]
Hintergrund ist folgender: Ich habe ein dictionary mit Ausdrücken zur Filterung von Terminen. Daneben gibt es eine Klasse, die mir unter anderem mit diesem dictionary den Inhalt zur Ansicht von Terminen aufbereitet und dann an die Anzeige weiterleitet.
Immer dann, wenn sich das dictionary ändert, wird dieses weitergereicht, damit ein neuer Inhalt zur Ansicht generiert werden kann. Und diese Übergabe ist ja eigentlich nicht nötig.
Ich hoffe, ich habe halbwegs erklären können, worum es mir geht...
mutetella