Уникальность экземпляров компонентов
Желуди почти как люди. У каждого есть свой &Характер
. Кто-то показывает его явно, а кто-то ведет себя "как все".
Большинство желудей характеризуют себя как Одиночка
. Все желуди, которым понадобился ОбновляторВерсий
как зависимость, получат один и тот же экземпляр Обновлятора с одним и тем же (очень одиноким) состоянием. Ну, вы знаете. Одинокий одиночка, одиноко идущий по одинокой дороге. Один.
Однако не всегда это удобно. Предположим, вы написали свой супер-пупер уникальный генератор случайных чисел, который дает чудесное распределение. И хотите предоставить приложению возможность получать результат работы генератора в виде желудя, как зависимость. Будет не очень здорово, если все компоненты вашего приложения получат абсолютно случайно попавшееся число 42, не правда ли? Нам не подходят желуди-одиночки, нужно что-то более дружелюбное. Компанейское!
В решении этой проблемы нам поможет аннотация &Характер
.
Перем ГСЧ;
&Завязь
&Характер("Компанейский")
Функция СлучайноеЦелое() Экспорт
Возврат ГСЧ.СлучайноеЦелое();
КонецФункции
&Дуб
Процедура ПриСозданииОбъекта()
ГСЧ = Новый ГенераторСлучайныхЧисел();
КонецПроцедуры
Данный уникальный в своем роде генератор случайных чисел является "Дубом", то есть источником желудей. Его отличительной особенностью является его Компанейский
характер. Теперь любой желудь, который попросит себе зависимость СлучайноеЧисло
, действительно получит случайное число!