[Python-de] Vererbung und globale Objekte (war "socket")

Jan Wender j.wender at science-computing.de
Mon Okt 20 09:57:08 CEST 2003


On Fri, Oct 17, 2003 at 09:28:56PM +0200, Olaf Radicke wrote:
> Z.B. die die Daten aus der Konfigurationsdatei. Jetzt habe ich
> ein Objekt "Konfig" als global angelegt. Aber die anderen Objekte
> kennen es trotzdem nicht, weil ihre Klassendefinition in einer 
> anderen Datei steht. Also gebe ich jetzt jeder Objektinstanz das
> Objekt  "Konfig" als Parameter mit.  Und weil ich noch ein paar

Guck Dir doch mal das Borg Pattern aus dem Python Kochbuch an (In der
englischen Version S. 208ff, oder auch bei ActiveState). Das kann man
genau dazu verwenden:

--- borg.py
class Borg:
  _shared_state = {}
  def __init__(self): self.__dict__ = _shared_state
---

Wenn ich Konfig-Informationen schreiben oder lesen will:

import borg
b=borg.Borg()
b.foo = "bar"

Durch den gemeinsamen _shared_state greifen alle Instanzen dieser
Klasse auf die gleichen Informationen zu, d.h. was einer weiss, wissen
alle.

Cheerio,
Jan Wender
-- 
Jan Wender                                               science + computing ag
scVENUS Software Development                             Phone +49 7071 9457257
Reality is what refuses to go away when I stop believing in it.(Philip K. Dick)
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde geschreddert...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : http://starship.python.net/pipermail/python-de/attachments/20031020/24127fc7/attachment.bin