[Python-de] Re: Code Style Review

[email protected]
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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.