Sagen wir, ich habe eine Funktion send_welcome_email()
und eine Klasse namens User
genannt (implementiert in Python, aber hoffentlich einfach für Nicht-Python-Entwickler zu verstehen):Wie heißt dieses Anti-Muster?
class User:
email = TextField()
first_name = TextField()
last_name = TextField()
def send_welcome_email(user):
msg = EmailMessage(recipient=user.email)
msg.send()
In diesem Fall wäre es das gewesen, besser zu definieren haben Funktionsschnittstelle als:
def send_welcome_email(email)
so dass die Funktion mit der User
Klasse nicht gekoppelt.
Ich weiß, das ist ein bekanntes Anti-Pattern, aber ich kann es nicht finden. Wer weiß, wie es heißt?
Ich postete dies in einem Kommentar, aber ich denke, es gibt eine Follow-up-Diskussion. Nehmen wir an, in der Nachricht send_welcome_email() sind 3-4 weitere Eigenschaften aus der Benutzerklasse erforderlich und es wird angegeben, dass der Benutzer über 10 Eigenschaften verfügt.An welchem Punkt ist es in Ordnung, das ganze Objekt zu übergeben? – Glide