Почему какао использует делегатов, а не наследование?

Почему какао использует делегатов, а не наследование?

6
задан Anurag 15 January 2010 в 00:22
поделиться

2 ответа

С делегатами вы можете иметь один объект быть делегатом многих других объектов. Например, вы можете иметь экземпляр MyController быть делегатом NStableView, NstextField, NSwindow и любых других объектов, которые составляют ваш интерфейс. Это дает компактное место для размещения всего вашего пользовательского кода интерфейса, связанного с одним разделом вашего пользовательского интерфейса.

Если вы сделали это с подклассом, вам придется создать один подкласс каждый объект, который вы нужны обратные вызовы.

Также это классическая наследование VS состав Вопрос

6
ответ дан 9 December 2019 в 22:35
поделиться

restclient не работал на меня, пока я не перепробовал create_file_field в RestClient:: Payload:: Multipart.

Создавалась 'Content-Disposition: multipart/form-data' в каждой части, где она должна быть «Content-Disposition: form-data» .

http://www.ietf.org/rfc/rfc2388.txt

Моя вилка здесь, если она нужна: git@github.com: kcrawford/rest-client.git

-121--731880-

Новая функция delay () в jQuery 1.4 должна выполнять эту функцию.

$('#foo').fadeIn(200).delay(5000).fadeOut(200).remove();
-121--1404976-

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

Использование делегата позволяет создать простой объект, который отвечает на несколько конкретных вопросов или реагирует различными способами.

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

Есть некоторые общие обсуждения об этих вещах здесь и здесь . Некоторые старые вопросы SO можно найти здесь и здесь .

5
ответ дан 9 December 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: