Spec-Zone .ru
спецификации, руководства, описания, API
|
Объект считают неизменным, если его состояние не может измениться после того, как он создается. Максимальная уверенность в неизменных объектах широко принимается как звуковая стратегия создания простого, надежного кода.
Неизменные объекты особенно полезны в параллельных приложениях. Так как они не могут изменить состояние, они не могут быть повреждены интерференцией потока или наблюдаться в непоследовательном состоянии.
Программисты часто отказываются использовать неизменные объекты, потому что они волнуются о стоимости создания нового объекта в противоположность обновлению объекта на месте. Воздействие объектного создания часто завышается, и может быть смещено некоторыми из полезных действий, связанных с неизменными объектами. Они включают уменьшенные издержки из-за сборки "мусора", и устранение кода должно было защитить изменчивые объекты от повреждения.
Следующие подразделы берут class, экземпляры которого изменчивы, и получает class с неизменными экземплярами от этого. Таким образом, они дают общие правила для этого вида преобразования и демонстрируют некоторые из преимуществ неизменных объектов.