Почему изменчивость - это плохо?

Оглавление:

Почему изменчивость - это плохо?
Почему изменчивость - это плохо?
Anonim

Ответ заключается в том, что неизменяемые типы более защищены от ошибок, их легче понять и они более готовы к изменениям. Изменчивость усложняет понимание того, что делает ваша программа, и значительно усложняет соблюдение контрактов.

Являются ли изменяемые объекты плохими?

Наконец, изменяемые объекты являются убийцей в параллельных ситуациях. Всякий раз, когда вы получаете доступ к изменяемому объекту из отдельных потоков, вам приходится иметь дело с блокировкой. Это снижает пропускную способность и значительно усложняет поддержку вашего кода.

Почему общее состояние плохо?

Общее изменяемое состояние работает следующим образом: Если две или более сторон могут изменять одни и те же данные (переменные, объекты и т.д.). И если их жизни пересекаются. Тогда существует риск того, что модификации одной стороны помешают правильной работе других сторон.

Почему неизменность - это хорошо?

Помимо сокращения использования памяти, неизменяемость позволяет оптимизировать ваше приложение, используя равенство ссылок и значений. Это позволяет очень легко увидеть, изменилось ли что-нибудь. Например, изменение состояния в компоненте реакции.

Каковы недостатки неизменяемости?

Единственным реальным недостатком неизменяемых классов является то, что они требуют отдельного объекта для каждого отдельного значения. Создание этих объектов может быть дорогостоящим, особенно если они большие. Например, предположим, что у вас есть миллион бит BigInteger, и вы хотите изменить его младший бит:BigInteger moby=…; моби=моби.

Рекомендуемые: