Non è un anti-pattern. Gli anti-pattern hanno delle proprietà che lo fanno sembrare una buona idea, che porta le persone a farlo apposta; sono pianificati come schemi e poi va terribilmente storto.
È anche ciò che rende dibattiti sul fatto che qualcosa sia un modello, un anti-modello o un modello comunemente applicato in modo errato che ha ancora usi in alcuni punti.
Questo è semplicemente sbagliato.
Per aggiungere un po 'di più.
Questo codice è superstizioso o, nella migliore delle ipotesi, una pratica di culto delle merci.
Una superstizione è qualcosa fatta senza una chiara giustificazione. Potrebbe essere correlato a qualcosa di reale, ma la connessione non è logica.
Una pratica di culto delle merci è quella in cui si tenta di copiare qualcosa che hai imparato da una fonte più informata, ma in realtà stai copiando i manufatti di superficie piuttosto che il processo (così chiamato per un culto in Papua Nuova Guinea che farebbe le radio di controllo degli aerei in bambù sperano di far tornare gli aerei giapponesi e americani della Seconda Guerra Mondiale).
In entrambi questi casi non c'è nessun caso reale da formulare.
Un anti-pattern è un tentativo di un ragionevole miglioramento, sia nel piccolo (quella ramificazione extra per affrontare quel caso extra che deve essere affrontato, che porta al codice spaghetti) o nel grande in cui si implementa deliberatamente un pattern che sia screditato o discusso (molti descrivono i singoli in quanto tali, con alcuni che escludono una sola scrittura - ad es. oggetti di registrazione o di sola lettura ad es. oggetti delle impostazioni di configurazione - e alcuni condannerebbero anche quelli) oppure dove stai risolvendo il problema sbagliato (quando .NET è stato presentato per la prima volta, MS ha raccomandato un modello per gestire lo smaltimento quando si disponevano sia di campi non gestiti che di campi gestiti usa e getta - si occupa davvero molto bene di quella situazione, ma il vero problema è che hai entrambi i tipi di campo nella stessa classe).
Come tale, un anti-pattern è qualcosa che una persona intelligente che conosce bene la lingua, il dominio problematico e le librerie disponibili farà deliberatamente, che ha ancora (o si sostiene che abbia) un aspetto negativo che travolge il lato positivo.
Dal momento che nessuno di noi inizia a conoscere bene una determinata lingua, il dominio problematico e le librerie disponibili, e poiché tutti possono perdere qualcosa mentre passano da una soluzione ragionevole a un'altra (ad es. Iniziare a memorizzare qualcosa in un campo per un buon uso, e quindi provare a rifattalo via ma non completi il lavoro, e finirai con il codice come nella domanda), e dato che ci mancano tutte le cose di volta in volta nell'apprendimento, a un certo punto tutti abbiamo creato un codice superstizioso o di culto . La cosa buona è che sono in realtà più chiari da identificare e correggere rispetto agli anti-schemi. I veri anti-pattern non sono probabilmente anti-pattern, o hanno una qualità attraente, o almeno hanno qualche modo di attirarne uno anche se identificati come cattivi (troppi e troppo pochi strati sono entrambi indiscutibilmente cattivi, ma evitandone uno porta all'altro).