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. Python. 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
< /code>
Der grundlegende Ansatz < /h1>
Der naivste (und vielleicht die beste?) Wege, die externe Funktion zu erfordern, um in die FrameworkClass -Konstruktorin zu geliefert zu werden. Code:
class FrameworkClass():
def __init__(self, func):
self.func = func
def do_the_job(self, ...):
# some stuff
self.func(...)
< /code>
Client -Code: < /em> < /strong> < /p>
def my_func():
# my implementation
framework_instance = FrameworkClass(my_func)
framework_instance.do_the_job(...)
< /code>
Frage < /h1>
Die Frage ist kurz. Gibt es eine bessere pythonische Möglichkeit, dies zu tun, um dies zu tun? Oder vielleicht irgendwelche Bibliotheken, die solche Funktionen unterstützen? In diesem Framework werden eine vom Token erhaltene ID