Was ist eine pythonische Art für die Abhängigkeitsinjektion? [geschlossen]

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Was ist eine pythonische Art für die Abhängigkeitsinjektion? [geschlossen]

by Anonymous » 06 Apr 2025, 22:10

Einführung < /h1>
Für Java funktioniert die Abhängigkeitsinjektion als reines OOP, d. H. Sie stellen eine Schnittstelle zur Verfügung, und in Ihrem Rahmencode akzeptieren Sie eine Instanz einer Klasse, die die definierte Schnittstelle implementiert. Wie würden Sie es dann auf pythonische Weise implementieren?

Code: Select all

class FrameworkClass():
def __init__(self, ...):
...

def do_the_job(self, ...):
# some stuff
# depending on some external function
Der grundlegende Ansatz
Der naivste (und vielleicht das beste?) besteht darin, die externe Funktion in die FrameworkClass Konstruktor zu erfüllen und dann aus der Methode der Do_the_job aufgerufen zu werden. Code:

Code: Select all

class FrameworkClass():
def __init__(self, func):
self.func = func

def do_the_job(self, ...):
# some stuff
self.func(...)
Client -Code:

Code: Select all

def my_func():
# my implementation

framework_instance = FrameworkClass(my_func)
framework_instance.do_the_job(...)
< /code>
 Frage < /h1>
Gibt es eine bessere, häufig verwendete pythonische Möglichkeit, dies zu tun? Oder vielleicht irgendwelche Bibliotheken, die solche Funktionen unterstützen? In diesem Framework werden eine vom Token erhaltene ID 
angegeben und den Benutzer, der dieser ID entspricht, erhalten.>

Top