Es ist kein Anti-Muster. Anti-Patterns haben eine Eigenschaft, die es wie eine gute Idee erscheinen lässt, die die Leute dazu bringt, es absichtlich zu tun. Sie sind als Muster geplant und dann geht es fürchterlich schief.
Dies ist auch der Grund für Debatten darüber, ob es sich bei etwas um ein Muster, ein Anti-Muster oder ein häufig falsch angewendetes Muster handelt, das an einigen Stellen noch Verwendung findet.
Das ist einfach falsch.
Um ein bisschen mehr hinzuzufügen.
Dieser Code ist abergläubisch oder bestenfalls eine Frachtkultpraxis.
Ein Aberglaube ist etwas, das ohne klare Begründung getan wird. Es mag mit etwas Realem zusammenhängen, aber die Verbindung ist nicht logisch.
Eine Frachtkult-Praxis ist eine, bei der Sie versuchen, etwas zu kopieren, was Sie aus einer sachkundigeren Quelle gelernt haben, aber Sie kopieren tatsächlich eher die Oberflächenartefakte als den Prozess (so genannt für einen Kult in Papua-Neuguinea, der dies machen würde) Flugzeugsteuerradios aus Bambus in der Hoffnung, dass die japanischen und amerikanischen Flugzeuge des Zweiten Weltkriegs zurückkehren).
In beiden Fällen ist kein wirklicher Fall zu machen.
Ein Anti-Pattern ist ein Versuch, eine vernünftige Verbesserung zu erzielen, sei es in dem kleinen (dieser zusätzlichen Verzweigung, die zu dem zusätzlichen Fall führt, der behandelt werden muss, der zu Spaghetti-Code führt) oder in dem großen, in dem Sie ein Pattern sehr bewusst implementieren Das ist entweder diskreditiert oder umstritten (viele würden die Singletons als solche bezeichnen, wobei einige Objekte nur zum Schreiben (z. B. Protokollieren von Objekten) oder nur zum Lesen (z. B. Konfigurationseinstellungen) ausschließen und einige sogar diese verurteilen würden) oder wo Sie das lösen falsches Problem (als .NET zum ersten Mal herauskam, empfahl MS ein Muster für den Umgang mit der Entsorgung, wenn Sie sowohl nicht verwaltete als auch verwaltete Einwegfelder hatten - es geht in der Tat sehr gut mit dieser Situation um, aber das eigentliche Problem ist, dass Sie es haben beide Feldtypen derselben Klasse).
Als solches ist ein Anti-Pattern etwas, das eine kluge Person, die die Sprache, die Problemdomäne und die verfügbaren Bibliotheken gut kennt, absichtlich tut und das immer noch eine Kehrseite hat (oder von der behauptet wird), die die Kehrseite überwältigt.
Da keiner von uns anfängt, eine bestimmte Sprache, Problemdomäne und verfügbare Bibliotheken gut zu kennen, und jeder etwas übersehen kann, wenn er von einer vernünftigen Lösung zur nächsten wechselt (z. B. etwas in einem Feld für eine gute Verwendung ablegen und dann versuchen zu Refactor es weg, aber nicht den Job, und Sie werden am Ende mit Code wie in der Frage), und da wir alle Dinge von Zeit zu Zeit im Lernen vermissen, haben wir alle einige abergläubische oder Fracht-Kult-Code irgendwann erstellt . Das Gute ist, dass sie tatsächlich klarer zu identifizieren und zu korrigieren sind als Anti-Patterns. Wahre Anti-Muster sind entweder wohl keine Anti-Muster oder haben eine attraktive Qualität oder haben zumindest eine Möglichkeit, einen in sie zu locken, selbst wenn sie als schlecht identifiziert werden (zu viele und zu wenige Schichten sind beide unumstritten schlecht, aber vermeiden eine führt zum anderen).