Im Fall von Python kann die Abhängigkeit leicht umgekehrt werden, wenn sie für jedes Modul gut ist.
person.py
hängt nicht von der Implementierung von AbstractPerson
ab.
person.py
class AbstractPerson:
def say(self):
raise NotImplementedError()
def talk_each():
person_a = AbstractPerson()
person_b = AbstractPerson()
print(person_a.say())
print(person_b.say())
Um eine Abhängigkeit in das person
-Modul einzufügen, können Sie schreiben:
main.py
import person
class JapanesePerson:
def say(self):
return "Hallo"
class EnglishPerson:
def say(self):
return "Hi"
person.AbstractPerson = JapanesePerson
person.talk_each()
#Hallo
#Hallo
person.AbstractPerson = EnglishPerson
person.talk_each()
# Hi
# Hi
Es fühlt sich wirklich wie "Python" an.
Recommended Posts