Sto lavorando su un sito web di 10 pagine con un database back-end. Ci sono oltre 500 oggetti in uso, che cercano di implementare il pattern MVP in ASP.Net. Sto tracciando l'esecuzione del codice da una pagina singola, il mio dito è stato su F-11 in Visual Studio per circa 40 minuti, sembra non esserci nessuna fine, forse più di 1000 chiamate di metodo per una pagina web! Se fossero solo 50 oggetti che sarebbero una cosa, tuttavia, l'esecuzione di codice serpeggia attraverso tutti questi oggetti proprio come milioni di formiche che si aggirano freneticamente nella loro gigantesca casa di terrapieno, piena di tunnel di oggetti. Quindi, è nato un nuovo anti-modello: AntFarm.AntFarm anti-pattern - strategie da evitare, antidoti per aiutare a guarire da
AntFarm è anche noto come "OO-Madnes", "OO-Fever", OO-ADD, o semplicemente un drogato di design-pattern.
Questa non è la prima volta che ho visto questo, né i miei colleghi in altre società. Sembra che questo stile sia attivamente propagandato, o comunque sia un fraintendimento dei numerosi vangeli OO/DP che vanno in giro ...
Vorrei introdurre un anti-pattern all'anti-pattern: GST oppure "Get Stuff Done" AKA "Get Sh ** done" AKA GRD (GetRDone). Questo schema si concentrava su ciò che dice, facendo cose fatte, in un modo semplice. Potrei provare a delinearlo di più in un post successivo, o per favore condividi le tue idee su questo schema antidoto.
In ogni caso, sono nel mezzo di un grande esempio di anti-pattern AntFarm mentre scrivo (come bonus, non c'è documentazione o commenti). Per favore condividi i tuoi pensieri su come questo anti-pattern sia diventato così prevelente, come possiamo evitarlo e come puoi annullare o gestire questo schema in un sistema live con cui devi lavorare!
Gli oggetti sono testati dall'unità? –
buona domanda, penso che il team di sviluppo credesse che stavano facendo alcuni test unitari ... come molti altri modelli che implementavano, iniziarono con un'idea, e poi nella foga della battaglia a volte cominciava a crollare. Tuttavia, con questa complicata architettura, non sono sicuro che un test inutile di per sé sarebbe di grande aiuto. – alchemical