Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.01.2011, 01:14
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 11  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Функция не есть интерфейс, вы не можете быть уверены, что вам передадут функцию с нужными параметрами.

Старый 10.01.2011, 01:14
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 12  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от surlac Посмотреть сообщение
Тут тоже процитирую GoF:
Вот Гофов люблю. Добавил Вам кармы. Но они здесь не в тему.
Да, мы тоже знаем, что в огороде бузина, а в Киеве дядька. Вы не в той тональности поете. Очень жаль.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 10.01.2011, 01:24
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 13  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Функция не есть интерфейс, вы не можете быть уверены, что вам передадут функцию с нужными параметрами.
Я гипотетически, представте, что мы программируем на haXe.
ИМХО если бы была типизация функций, способ с передачей 3-х функций был бы действительно лучше.


Последний раз редактировалось expl; 10.01.2011 в 01:26.
Старый 10.01.2011, 01:30
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 14  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Честно говоря слабо представляю себе ситуацию, в которой классу нужны аж три функции (которые можно заменить интерфейсом) и они при этом не могут быть частью одного класса. Хотя собственно представляю, но это будут утилиты, а они не подпадают ни под интерфейсы, ни под передачу функций.

Старый 10.01.2011, 01:39
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 15  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Цитата:
Извините, не согласен. Насколько я знаю, должно быть как раз наоборот. Не буду долго объяснять, просто процитирую труд Гаммы, Хелма и других товарищей из Gang Of Four "Design Patterns:Elements of Reusable Object-Oriented Software":
Советы, особенно абстрактные, являются лишь советами, а не руководством к действию и не затрагивают конкретные случаи.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 10.01.2011, 01:44
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 16  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Давно ещё поднимал тему про сигнатуры функций. Из обсуждений вывел для себя, что единственный выход использовать классы ,т.е. интерфейсы, в вашей интерпретации этого слова.
__________________
Отряд Котовскага

Старый 10.01.2011, 03:32
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 17  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от expl
Передавая классу функцию Вы завязываете этот класс на СИГНАТУРУ функции, а НЕ на ее реализацию
Классу функцию передают гораздо реже, чем методу ссылку на метод. Почувствуйте, пожалуйста, разницу. Употребление термина "класс" явно не уместно в данном контексте. Здесь, скорее, должен стоять "объект". Просто закройте глаза и представьте. Методу передают параметры. Сам метод принимает аргументы. Метод может принять в качестве аргумента ссылку на объект Function, который является методом.

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

По поводу as1-as2. Мысли вслух.
Мне жаль тех людей, которые хаят инструменты. Такое впечатление, что их кто-то заставлял работать с китайским промом и теперь по этому поводу они жалуются на неудавшуюся жизнь.
В свое время я уделял железкам (выбор слесарки, столярки) особое внимание, потому они служат мне по сей день.
Было время, был один язык. Его сменил второй, третий. Ну нет генериков, не беда, сделай хорошо без них. Мне нравился as1, мне нравился as2. Мне нравилось программирование вообще.

Вероятно, я могу быть неправ.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 10.01.2011 в 03:58.
Старый 10.01.2011, 12:56
passertm вне форума Посмотреть профиль Отправить личное сообщение для passertm Найти все сообщения от passertm
  № 18  
Ответить с цитированием
passertm
[+1 28.12.10]
[+1 29.12.10]
 
Аватар для passertm

Регистрация: Aug 2006
Сообщений: 107
Разговор очень стремится выйти за пределы темы.
Преимушество Интрефейсов о котором я вспомнил позже и почемуто не написал это контроль количества параметров. полезная весч(но учитывая что никто не запрешает в листенер mousedown передавать обработчик mousemove, контроль количества ИМХО добавляет очень маленкую зашиту от ошибок)

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


Еще подумалось в джава слушатель лоджен наследовать интерфейс. даже если в интерфейсе один класс(но в джава йункции нельзя передавать). А в AS3 разработчики не стали так делать.

Добавлено через 3 минуты
Цитата:
Сообщение от alatar Посмотреть сообщение
Вопросы не менее расплывчаты.
Так я же вас не упрекаю. Понятно что сложно однозначно отвечать.

Цитата:
Сообщение от alatar Посмотреть сообщение
Какое отношение некие классы имеют к undo/redo?
В обьектах этих классов можно делать undo/redo

Цитата:
Сообщение от alatar Посмотреть сообщение
Я бы реализовал undo/redo командами, и они бы имели интерфейс.
Можно перефразировать. А то чето никак не пойму как это "они бы имели интерфейс"

Добавлено через 7 минут
Цитата:
Сообщение от surlac Посмотреть сообщение
Цитата:
принцип объектно-ориентированного проектирования для повторного использования: программи-
руйте в соответствии с интерфейсом, а не с реализацией.
Так я по ним и программирую. И оба этих метода "в соответствии с интерфейсом"

Добавлено через 8 минут
Цитата:
Сообщение от dimarik Посмотреть сообщение
А потом я читаю твой код. И он делает меня печальным.
))
именно это и заставило меня начать эту тему)

Старый 10.01.2011, 13:05
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 19  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
А то чето никак не пойму как это "они бы имели интерфейс"
Команда, в данном случае, класс реализующий паттерн Command. И для команд которые могут быть отменены, я бы добавил интерфейс. Что бы можно было их добавлять в менеджер undo/redo.

Старый 10.01.2011, 13:10
passertm вне форума Посмотреть профиль Отправить личное сообщение для passertm Найти все сообщения от passertm
  № 20  
Ответить с цитированием
passertm
[+1 28.12.10]
[+1 29.12.10]
 
Аватар для passertm

Регистрация: Aug 2006
Сообщений: 107
Цитата:
Сообщение от alatar Посмотреть сообщение
Команда, в данном случае, класс реализующий паттерн Command. И для команд которые могут быть отменены, я бы добавил интерфейс. Что бы можно было их добавлять в менеджер undo/redo.
А.... Ну я так и сделал)

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:15.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:15.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.