Code Smell 32 - Singletons

Il design pattern più utilizzato e (in) famoso al mondo ci sta causando gravi danni.

Foto di Maria Teneva su Unsplash

I problemi

  • Accoppiamento
  • Testabilità
  • Problemi di implementazione accidentale.
  • Problemi di multi threading.
  • Metodi statici inquinanti.
  • Violazione del contratto per la creazione di oggetti.
  • Mancata corrispondenza della biiezione .
  • Problemi di memoria.
  • Ottimizzazione prematura.
  • Code Smell 20 - Ottimizzazione prematura
  1. Evitalo.
  2. Usa oggetti contestuali univoci.
  3. Creazione di oggetti benchmark.
  • Accesso al database
  • Globali
  • Logger
  • Aiutanti
  • Code Smell 22 - Aiutanti

Sbagliato

Dio è l'archetipo del singleton.

Giusto

Rilevamento

Questo è un modello di progettazione. Dovremmo evitarlo per politica.

Possiamo aggiungere regole di linter per pattern come 'getInstance ()' in modo che i nuovi sviluppatori non possano infettare il codice con questo anti-pattern .

Tag

  • Globali

Questo è un errore storico già riconosciuto dalla comunità. Tuttavia, gli sviluppatori pigri lo portano ancora e ancora. Dobbiamo raggiungere un consenso sui suoi svantaggi.

Relazioni

Code Smell 06 - Programmatore troppo intelligente Code Smell 25 - Pattern Abusers

Ulteriori informazioni

Il diagramma non è il modello. Il modello non è il diagramma. È un'astrazione, un insieme di concetti e relazioni tra loro.

Eric Evans

Grandi citazioni di ingegneria del software

Questo articolo fa parte della serie CodeSmell.

Come trovare le parti puzzolenti del tuo codice

Suggested posts

Ricerca di informazioni sui nomi di dominio

Un estratto da Small, Sharp Software Tools di Brian P. Hogan

Ricerca di informazioni sui nomi di dominio

Quando fai una richiesta a facebook.com, il tuo computer cerca il nome di dominio per tradurre quel nome di dominio in un indirizzo IP in modo che il tuo computer possa effettuare quella connessione.

La parola D e la parola L in UI Design. Questioni linguistiche. Non essere razzista.

La parola D e la parola L in UI Design. Questioni linguistiche. Non essere razzista.

La nostra lingua è uno strumento potente che può modellare i nostri pensieri, atteggiamenti e azioni. Anche termini apparentemente innocui possono perpetuare pregiudizi e stereotipi dannosi.

Related posts

Cosa puoi fare nella tua stagione di attesa (in attesa di ottenere il tuo primo lavoro nella tecnologia)

Cosa puoi fare nella tua stagione di attesa (in attesa di ottenere il tuo primo lavoro nella tecnologia)

Il passaggio a una nuova carriera può essere estremamente impegnativo se provi a farlo da solo. È importante trovare partner responsabili che abbiano il tuo stesso livello di apprendimento, che condividano obiettivi, tenacia e determinazione simili.

Tieni traccia di chiunque abbia solo un numero di telefono | Indagine OSINT

Tieni traccia di chiunque abbia solo un numero di telefono | Indagine OSINT

Puoi essere un investigatore OSINT, un giocatore CTF o semplicemente qualcuno che riceve chiamate spam. Qualcuno che sta cercando di verificare il numero che hai visto in una pubblicità.

Quell'archivio di minaccia: Vol 7 Black Basta

Quell'archivio di minaccia: Vol 7 Black Basta

Nel mondo interconnesso di oggi, la minaccia degli attacchi informatici è più diffusa che mai. I criminali informatici e gli attori dello stato-nazione cercano costantemente di sfruttare le vulnerabilità e rubare dati preziosi, ponendo un rischio significativo per le organizzazioni di tutte le dimensioni.

Raccolta di OSINT per la caccia alle minacce

Raccolta di OSINT per la caccia alle minacce

Ehi, cibernetici! Bentornati alla serie OSINT per la caccia alle minacce. Nel primo articolo, ti ho fornito una panoramica di OSINT e della sua importanza nella caccia alle minacce.