Non è un anti-modello. Gli anti-pattern hanno alcune proprietà che lo fanno sembrare una buona idea, che porta le persone a farlo apposta; sono pianificati come modelli e poi vanno terribilmente storto.
È anche ciò che rende dibattiti se qualcosa è un pattern, un anti-pattern o un pattern comunemente applicato male che ha ancora usi in alcuni punti.
Questo è solo sbagliato.
Per aggiungere altro.
Questo codice è superstizioso, o nel migliore dei casi una pratica di culto del carico.
Una superstizione è qualcosa fatto senza una chiara giustificazione. Potrebbe essere correlato a qualcosa di reale, ma la connessione non è logica.
Una pratica di culto del carico è quella in cui cerchi di copiare qualcosa che hai appreso da una fonte più esperta, ma in effetti stai copiando gli artefatti di superficie piuttosto che il processo (così chiamato per un culto in Papua Nuova Guinea chi farebbe le radio di controllo degli aerei di bambù sperando di far tornare gli aerei giapponesi e americani della seconda guerra mondiale.
In entrambi i casi non c'è alcun caso reale da fare.
Un anti-pattern è un tentativo di miglioramento ragionevole, sia nel piccolo (quella ramificazione extra per affrontare quel caso extra che deve essere affrontato, che porta al codice spaghetti) o nel grande dove tu deliberatamente implementare un modello che sia discreditato o discusso (molti descrivono i singleton come tali, con alcuni che escludono solo la scrittura - ad esempio oggetti di logging o di sola lettura, ad esempio oggetti di configurazione - e alcuni potrebbero condannare anche quelli) o altrimenti dove si ' risolvendo il problema sbagliato (quando .NET è stato introdotto per la prima volta, MS ha consigliato un pattern per gestire lo smaltimento quando si avevano sia campi non gestiti sia campi gestiti usa e getta - in effetti gestisce bene quella situazione, ma il vero problema è che tu hai entrambi i tipi di campo nella stessa classe)
In quanto tale, un anti-modello è qualcosa che una persona intelligente che conosce bene la lingua, il dominio problematico e le librerie disponibili deliberatamente, ha ancora (o si sostiene che abbia) uno svantaggio che travolge il rialzo.
Dato che nessuno di noi inizia a conoscere bene una determinata lingua, il dominio dei problemi e le librerie disponibili, e poiché tutti possono perdere qualcosa passando da una soluzione ragionevole a un'altra (ad esempio, inizia a memorizzare qualcosa in un campo per un buon uso, e poi prova a rifattarlo via ma non completare il lavoro, e finirai con il codice come nella domanda), e dal momento che tutti noi ci perdiamo di tanto in tanto nell'apprendimento, tutti abbiamo creato un codice superstizioso o di culto del carico ad un certo punto. La cosa buona è che sono in realtà più chiari per identificare e correggere rispetto agli anti-schemi. I veri anti-schemi sono probabilmente non anti-pattern, o hanno una qualità attraente, o almeno hanno un certo modo di attirarli in uno anche se identificati come cattivi (troppi e troppo pochi livelli sono entrambi controvogliamente cattivi, ma evitando uno conduce all'altro).