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.>
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]class FrameworkClass():
def __init__(self, ...):
...
def do_the_job(self, ...):
# some stuff
# depending on some external function
[/code]
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]class FrameworkClass():
def __init__(self, func):
self.func = func
def do_the_job(self, ...):
# some stuff
self.func(...)
[/code]
[b] Client -Code: [/b]
[code]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 [/code] angegeben und den Benutzer, der dieser ID entspricht, erhalten.>