| Newsgroups |
gmane.comp.python.general.german |
| Message-ID |
<[email protected]> |
Hallo Marc,
Am 29.11.2022 15:22 schrieb Marc Haber:
> [email protected] wrote:
>> Es gibt andere Lösungen.
>
> Und die wären?
Siehe unten.
> Jeder einzelnen Funktion in jedem einzelnen Aufruf das
> config-Hash als Parameter mitgeben?
Nein, das würde ich auch nicht machen wollen. ;)
>> Besser wäre hier eine
>> Art Singleton-Pattern anzuwenden.
>> Sagen wir deine Konfiguration ist in der Klasse "Config".
>>
>> class Config:
>> [...]
> Das sind 22 Zeilen für was?
Bitte Pattern nicht als fertige Lösung betrachten, schon gar nicht im
Kontext von Python. Ich verstehe die immer als Lösungsansätze, die
sozusagen zum Denken anregen sollen. Sie müssen nicht 1 zu 1 umgesetzt
werden.
Es gab da ja auch den, für mich auch neuen, Vorschlag zum "Borg
Pattern".
> Und da habe ich immer noch nicht das
> Problem gelöst, dass ich das einzelne Objekt dieser Klasse immer noch
> als globale Variable mitziehen muss
Ne, eben nicht. Die Klasse kennt ihre eigene Instanz. Du musst dir keine
Gedanken mehr darum machen, "wo" diese Instanz herkommt.
Mach einfach "Config.instance()".
Eine andere Alternative wäre ein ganzes "config" Modul anzulegen; also
"config.py" die du mit "import config" bekannt machst und dann z.B.
"config.instance.getFoobar()" schreiben kannst. Deine globale Variable
kapselst du in einem Modul.
> Oder stehe ich hier auf dem Schlauch?
Wie gesagt, kann man Pattern (z.B. Singleton) genau dazu nutzen, um mal
"anders zu denken". Mir geht das bei dem "Borg" Ding so. Kannte ich
nicht. Finde ich auch nicht sehr geil. Aber erweitert den Horizont,
besonders wenn man sich die dahinterstehenden Prinzipien genau anschaut.
_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]