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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Извини, я тебя сейчас немного не понимаю, и на мой вопрос ты не ответил.

Но я отвечу сам, захваченный callback-ом скоут, который возможно содержит this - того самого контроллера, который ты называешь ссылкой на контроллер в моделе ты дернуть не можешь, потому что ты про него ничего не знаешь.
__________________
местонахождение

Старый 24.03.2018, 22:50
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 12  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,279
да,я понял,это тоже самое что и с событиями.Подписка на событие ведет к точно такой же связанности.
Так что со слушателем без класса?Реально интересно вроде в жаве нельзя передавать ссылки на методы как в js/as3

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

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Java 8
Код:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
numbers.forEach(System.out::println);
Цитата:
да,я понял,это тоже самое что и с событиями.Подписка на событие ведет к точно такой же связанности.
Я совершенно не согласен. Какую-бы реализацию системы сообщений не взять, любая из них лишь гарантирует рассылку сообщения(й), а уж что там в нем(их) будет - зависит от реализации только.

Или я трактовал слово связанность, не так как ты задумал...
__________________
местонахождение

Старый 25.03.2018, 00:07
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 14  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,279
Цитата:
Java 8
Значит таки можно.Не знал.
Цитата:
Или я трактовал слово связанность, не так как ты задумал...
связанность в смысле кто на кого сссылку имеет.То что эта ссылка не доступна дело десятое.Мне просто подход с колбаками как раз кажется более удобным.Никаких подписок/отписок.Хотя по сути это одно и тоже.

Старый 25.03.2018, 03:38
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 15  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Еще раз - это не одно и тоже. Событийная модель, как раз возволяет избежать прямых связей и легко расширяема, в отличии от системы callback-ов. Подписка/отписка тут не причем.
Если говорить в контексте флеша, допустим у тебя есть View внутри которой 100500 кнопок, ты подписываешься на родителя(контейнер) и можешь за счет всплытия поймать событие, скажем, клика по одной из 100500 кнопок. Усложнять я могу до бесконечности.
Система сигналов/callback-ов - хороша, наверное, может быть, только в "плоской" системе, не хочу поднимать и углубляться в эту тему.
Так же стоит не забывать, что есть всякие глобальные менеджеры событий, типа EventBus и т.п.

Цитата:
То что эта ссылка не доступна дело десятое.
Если ты сейчас говоришь про "ссылку", подразумевая то что callback захватил this - это ошибочно. Почему callback не может быть создан в static окружении? То что так происходит технически на флеше не означает, что сущность куда передали callback - автоматически получает в распоряжение захваченное, это техническая реализация замыкания не более, не нужно придумывать проблему там где ее нет и не нужно подменять понятия, пожалуйста.
В MVC речь всегда идет о явных связях, а не о том как какая-то платформа, на какой-то виртуальной машине, после компиляции куда-то что-то сохраняет. У меня все.

UPD
Когда-то давно кто-то тут приводил хороший пример:
Выбегаешь ты на улицу и орешь во весь голос: "ПОЖАР!" - вот кто тебя услышал, тот сообщение и получил, может быть один, может быть 10, а может и никто. Вот она система сообщений, ты не знаешь кто тебя слушает, ты орешь.

А вот взял ты телефон и позвонил в пожарную - вот она система сгнал/слот. Явная связанность.
(Но система прослушки линии не знает, кто звонит, она просто определила звонок и начинает анализировать его, чтобы понять, терорист ты или нет, она явно на тебя не подписывалась, она слушает весь канал)
__________________
местонахождение


Последний раз редактировалось СлаваRa; 25.03.2018 в 03:50.
Старый 25.03.2018, 12:22
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 16  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,279
Цитата:
Еще раз - это не одно и тоже.
Одно и тоже в смысле степени связности, а не поведения.
Цитата:
Вот она система сообщений, ты не знаешь кто тебя слушает, ты орешь.
Как не знаешь когда у тебя все слушатели записаны?

Добавлено через 17 минут
Цитата:
Почему callback не может быть создан в static окружении?
Не знаю я говорил в контексте явы,там подобная запись вполне допустима:
Код:
public class Tmp {
    private static String msg="hello world";
    public static void method(View view) {
        view.setOnClickListener(_v->{
            Log.d("hello",msg);
        });
    }
}
А вот если ты внутри где-либо напишешь this - да,ругнется т.к. this не существует.
Спор явно потерял содержание.Предлагаю закончить


Последний раз редактировалось undefined; 25.03.2018 в 12:55.
Старый 27.03.2018, 14:30
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 17  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Я понял, что идеального МВЦ не существует, каждый, кто кричит, что нашел идеал - ЛжеФлешер - гоните его, насмехайтесь над ним. МВЦ это такая мечта, к которой должны стремится участники этого форума, но не должны ее достичь, иначе не о чем будет больше мечтать.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 29.03.2018, 17:37
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 18  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Новосибирск :D
Сообщений: 6,597
Записей в блоге: 17
Верните мне мой 2010, с мечтами о MVC и способами заливки спрайтов одним шейпом...

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

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

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


 


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


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