LINUX.ORG.RU

Нужен обработчик изменения свойства объекта

 ,


0

1

Собственно, хотелось бы, чтобы при изменении значения свойства «цвет» объекта «лягушка» на «бело-оранжевый», объект «лягушка» резко переставал любить Путина, начинал размахивать белыми ленточками и носить оранжевый шарф.

Вопросов на самом деле 2:

1) Как сделать так, чтобы $frog->color('бело-оранжевый') вызывал пользовательский обработчик? (trigger?)

2) Как вы думаете, почему разработчики Moose не любят (судя по их примерам) подобный подход? Ведь ну очевидно же, что при изменении свойств объекта с этим самым объектом должно что-то интересное происходить - не обязательно смена политической ориентации...

★★★★★

Последнее исправление: DRVTiny (всего исправлений: 1)

А разве не сам объект должен решать что ему делать при смене цвета? Почему за объект решает пользовательский обработчик, нарушая тем самым инкапсуляцию?

Olegymous ★★★
()

С нацполом проследуйте, пожалуйста, в лолксы.

В Моосе нет property?

Virtuos86 ★★★★★
()
Ответ на: комментарий от Olegymous

Я имею в виду обработчик в описании объекта конечно.

В Moose что ни пример, то:

has property_name => (
 is => 'rw',
 isa => 'Str'
)
То есть по дефолту Moose сам генерирует accessor'ы, единственная функция которых - присваивание и проверка присваиваемого на соответствие «типу данных Moose».

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Значит, reader и writer... Ясенько :)

DRVTiny ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.