Esaminare domande come queste
- Se oggetti immutabili sono buone, perché le persone continuano a creare oggetti mutabili?
- Quali sono gli svantaggi dei tipi immutabili?
- A che punto le classi immutabili diventano un peso ?
- Quando è inappropriato rendere immutabili gli oggetti?
mi sembra che la gente chieda "perché non è immutabile?" e ho pensato di fare un altro tipo di domanda.
Diciamo che gli oggetti immutabili sono (soprattutto) buoni - anche se non sei d'accordo, umorami per un secondo.
A partire da ora, sembrano esserci più di 6k progetti Java su freecode.com . Probabilmente c'è un sacco di etichette errate, ma anche molte altre che non sono elencate. Quindi diciamo che ce ne sono almeno un migliaio. E possiamo contare con sicurezza su altri, come C #, che sono ugualmente rilevanti.
Quindi hai qualche esempio di grandi progetti relativamente di successo che usano l'immutabilità a un livello ragionevole? Voglio dire, tutti possono scrivere dei piccoli esempi che mostrano quanto tutto sia buono quando è immutabile, ma se ci sono 10k + LOC, allora è una storia diversa.
Riesco a capire i vecchi progetti - OK, carico storico, sarebbe una grande impresa da riscrivere, per es. Firefox per essere per lo più immutabile. Posso capire cose specializzate, ad es. Collezioni Guava, progettate in modo simile da zero. Ci sono esempi di applicazioni reali, preferibilmente nuove, che sono così? Quanto è "mutabile Java" migliore / peggiore rispetto a "Java immutabile" e in quali aspetti - ma dal punto di vista pratico ?