пятница, 24 августа 2012 г.

Неизменяемый

Послушник недавно прибыл из Храма Трёх Камней, где используется только язык C. Он был новичком в Java и вскоре наткнулся на неизменяемость строк.

"Я хочу только поменять содержимое этого поля!" - воскликнул он. "Но для этого требуется создать объект StringBuffer и, впоследствии, новый объект String, дважды копируя множество нетронутых символов между ними! С какой целью были разработаны такие строки?"

Учёная сестра услышала его и посоветовала: "Медную монету, передаваемую из рук в руки, всё ещё можно обменять на другой день, но только не яйцо". И послушник просветился.

Вскоре послушник стал определять все классы неизменяемыми. Ни одно свойство нельзя было менять: только при создании нового экземпляра можно было делать необходимые изменения. Его конструкторы иногда были удивительно большими и сложными.

Учитель Java узнал об этом и сказал: "Пусть яйцо отольют из меди подадут монахине на завтрак."

Таким образом была наказана монахиня за свой совет послушнику.

Original: Immutable

Комментариев нет:

Отправить комментарий