Почему какао использует делегатов, а не наследование?
С делегатами вы можете иметь один объект быть делегатом многих других объектов. Например, вы можете иметь экземпляр MyController быть делегатом NStableView, NstextField, NSwindow и любых других объектов, которые составляют ваш интерфейс. Это дает компактное место для размещения всего вашего пользовательского кода интерфейса, связанного с одним разделом вашего пользовательского интерфейса.
Если вы сделали это с подклассом, вам придется создать один подкласс каждый объект, который вы нужны обратные вызовы.
Также это классическая наследование VS состав Вопрос
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 можно найти здесь и здесь .