Yanıt, değişmez türlerin hatalardan daha güvenli, anlaşılması daha kolay ve değişime daha hazır olmasıdır. Değişebilirlik programınızın ne yaptığını anlamayı zorlaştırır ve sözleşmeleri yürürlüğe koymayı çok daha zorlaştırır.
Değişken nesneler kötü mü?
Son olarak, değiştirilebilir nesneler eşzamanlı durumlarda öldürücüdür. Değişken bir nesneye ayrı iş parçacıklarından eriştiğinizde, kilitleme ile uğraşmanız gerekir. Bu, verimi az altır ve kodunuzun bakımını çok daha zor hale getirir.
Paylaşılan durum neden kötü?
Paylaşılan değişken durumu şu şekilde çalışır: İki veya daha fazla taraf aynı verileri (değişkenler, nesneler vb.) değiştirebiliyorsa. Ve eğer ömürleri örtüşürse. O zaman bir tarafın değişikliklerinin diğer tarafların doğru çalışmasını engelleme riski vardır.
Değişmezlik neden iyi bir şey?
Az altılmış bellek kullanımının yanı sıra, değişmezlik referans ve değer eşitliğinden yararlanarak uygulamanızı optimize etmenizi sağlar. Bu, herhangi bir şeyin değişip değişmediğini görmeyi gerçekten kolaylaştırır. Örneğin bir tepki bileşenindeki durum değişikliği.
Değişmezliğin dezavantajları nelerdir?
Değişmez sınıfların tek gerçek dezavantajı, her farklı değer için ayrı bir nesne gerektirmeleridir. Bu nesneleri oluşturmak, özellikle büyüklerse maliyetli olabilir. Örneğin, bir milyon bitlik bir BigInteger'ınız olduğunu ve bunun düşük sıralı bitini değiştirmek istediğinizi varsayalım:BigInteger moby=…; moby=moby.