|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Есть две формы, хотелось бы сделать так: 1. в форме 1 при нажатии на клавишу выполняется запрос к SQL Server. 2. если он выполнился, то в форме1 и в форме 2 перерисовываются контролы (листбоксы, тривью) 3. если не выполнился, то в форме 1 пишется запись в текстбокс об ошибке Вопрос: я создаю субжект в форме1, подписываюсь в форме1, там же реагирую. Как быть в форме 2 с подпиской не теже события и реакцией на них? там ведь не виден субжект? Собственно, хотелось бы сделать подписку и реакцию на то же событие по многим классам приложения, потом и вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 10:40 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Гугли паттерны "Model-View-Controller" и "Model-View-Presenter". ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 10:46 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
fkthatГугли паттерны "Model-View-Controller" и "Model-View-Presenter". Хорошо, но это концепция, а как реализовать, используя Reactive то, что я описал? Т.е., я так понимаю, субжект должен быть виден для обоих классов? Значит, выносить и делать его глобальным? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 10:50 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг Хупин, В MVC модель может быть разшарена между несколькими "view" (представлениями), в данном случае формами. Контроллер формы получает пользовательское событие от формы и обновляет модель. Модель в свою очередь уведомляет все зависящие от неё представления о том что она обновилась. В ответ на это уведомление каждое представление обновляет себя данными модели. В общем случае, да, нужен некоторый глобальный "диспетчер", который управляет созданием представлений (форм), контроллеров, моделей и установлением связей между ними. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 10:58 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
fkthatРолг Хупин, В MVC модель может быть разшарена между несколькими "view" (представлениями), в данном случае формами. Контроллер формы получает пользовательское событие от формы и обновляет модель. Модель в свою очередь уведомляет все зависящие от неё представления о том что она обновилась. В ответ на это уведомление каждое представление обновляет себя данными модели. В общем случае, да, нужен некоторый глобальный "диспетчер", который управляет созданием представлений (форм), контроллеров, моделей и установлением связей между ними. ясно, спасибо за комментарий, у меня старое WinForms приложение, накручивать туда еще MVC|MVVM не хотелось бы, хочется проще, добавить реакцию в разных формах/классах на событие, случившееся в каком-то месте ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 11:06 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг Хупинясно, спасибо за комментарий, у меня старое WinForms приложение, накручивать туда еще MVC|MVVM не хотелось бы, хочется проще, добавить реакцию в разных формах/классах на событие, случившееся в каком-то месте Паттерн "медиатор" ("посредник") ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 11:22 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг Хупинменя старое WinFormsmainForm всегда доступна. Пусть и руководит событиями. А все формочки при родах подписываются и умирая отписываются. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 11:29 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг Хупин, Это если легаси проект. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 11:30 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Petro123mainForm всегда доступна. Пусть и руководит событиями. Еще пусть она варит кофе и делает марокканский минет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 11:34 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
fkthat, Все что ты не напишешь, все верно дорогой). Не переживай. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 11:39 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
fkthat Паттерн "медиатор" ("посредник") Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:04 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
ЕвгенийВ, Да) И если у вас не легаси) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:05 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Petro123Ролг Хупин, Это если легаси проект. да не то слово, еще и какой легаси, не хочется лишний раз трогать ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:05 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг ХупинЕсть две формы, хотелось бы сделать так: 1. в форме 1 при нажатии на клавишу выполняется запрос к SQL Server. 2. если он выполнился, то в форме1 и в форме 2 перерисовываются контролы (листбоксы, тривью) 3. если не выполнился, то в форме 1 пишется запись в текстбокс об ошибке Вопрос: я создаю субжект в форме1, подписываюсь в форме1, там же реагирую. Как быть в форме 2 с подпиской не теже события и реакцией на них? там ведь не виден субжект? Собственно, хотелось бы сделать подписку и реакцию на то же событие по многим классам приложения, потом и вопрос. Речь об https://reactiveui.net/docs/guidelines/platform/windows-forms ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:14 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Petro123Ролг Хупинменя старое WinFormsmainForm всегда доступна. Пусть и руководит событиями. А все формочки при родах подписываются и умирая отписываются. В общем, сделал так: сделал Singleton, там живет субжект, каждая форма берет его, подписывается и реагирует. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:14 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг ХупинPetro123Ролг Хупин, Это если легаси проект. да не то слово, еще и какой легаси, не хочется лишний раз трогать В mainForm добавить интефейс. , IAddEventDB - заругается... дописать метод из него. - в этом методе вызвать form2. А метод запустит form1 Все. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:18 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг ХупинSingletonантипаттерн ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:18 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг ХупинВ общем, сделал так: сделал Singleton, там живет субжект, каждая форма берет его, подписывается и реагирует. Да, зачот, все правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:18 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг ХупинfkthatРолг Хупин, В MVC модель может быть разшарена между несколькими "view" (представлениями), в данном случае формами. Контроллер формы получает пользовательское событие от формы и обновляет модель. Модель в свою очередь уведомляет все зависящие от неё представления о том что она обновилась. В ответ на это уведомление каждое представление обновляет себя данными модели. В общем случае, да, нужен некоторый глобальный "диспетчер", который управляет созданием представлений (форм), контроллеров, моделей и установлением связей между ними. ясно, спасибо за комментарий, у меня старое WinForms приложение, накручивать туда еще MVC|MVVM не хотелось бы, хочется проще, добавить реакцию в разных формах/классах на событие, случившееся в каком-то месте Типа при наступлении некого события необходимо выполнить команду Refresh. Ну заведи интерфейс ICommandHandler, пусть твои формы его реализуют, а главная форма выступает диспетчером команд. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:23 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг ХупинPetro123пропущено... mainForm всегда доступна. Пусть и руководит событиями. А все формочки при родах подписываются и умирая отписываются. В общем, сделал так: сделал Singleton, там живет субжект, каждая форма берет его, подписывается и реагирует. Типа некий общий Store/State? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:24 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
fkthatРолг Хупинясно, спасибо за комментарий, у меня старое WinForms приложение, накручивать туда еще MVC|MVVM не хотелось бы, хочется проще, добавить реакцию в разных формах/классах на событие, случившееся в каком-то месте Паттерн "медиатор" ("посредник") это полезный шаблон, но в нем каждому юзеру передается медиатор, это еще ладно, но медиатор должен знать обо всех юзерах. Синглетон вроде как более оторван. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:25 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
skyANAРолг Хупинпропущено... В общем, сделал так: сделал Singleton, там живет субжект, каждая форма берет его, подписывается и реагирует. Типа некий общий Store/State? да, практически - общий, глобальный Субжект ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:27 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
skyANAРолг ХупинЕсть две формы, хотелось бы сделать так: 1. в форме 1 при нажатии на клавишу выполняется запрос к SQL Server. 2. если он выполнился, то в форме1 и в форме 2 перерисовываются контролы (листбоксы, тривью) 3. если не выполнился, то в форме 1 пишется запись в текстбокс об ошибке Вопрос: я создаю субжект в форме1, подписываюсь в форме1, там же реагирую. Как быть в форме 2 с подпиской не теже события и реакцией на них? там ведь не виден субжект? Собственно, хотелось бы сделать подписку и реакцию на то же событие по многим классам приложения, потом и вопрос. Речь об https://reactiveui.net/docs/guidelines/platform/windows-forms ? Да, но чтобы такое использовать надо много существующего кода перелопатить, чего не хотелось бы ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:30 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг Хупин, я вот только одного не пойму... ReactiveUI - это полноценный MVVM-фреймворк: bindings, routing, message bus, commands и прочее... зачем что-то накручивать, если в нём итак всё есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:31 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг ХупинskyANAпропущено... Речь об https://reactiveui.net/docs/guidelines/platform/windows-forms ? Да, но чтобы такое использовать надо много существующего кода перелопатить, чего не хотелось бы понятно тогда зачем тащить весь ReactiveUI, реализуй тупо маленькую часть из него ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:32 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг ХупинДа, но чтобы такое использовать надо много существующего кода перелопатить, чего не хотелось быто есть твоя идея притащить react на банальное событие? Смешно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:37 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Petro123Ролг ХупинДа, но чтобы такое использовать надо много существующего кода перелопатить, чего не хотелось быто есть твоя идея притащить react на банальное событие? Смешно. Почему бы и нет? а что - не смешно? Ты отличаешься тем, что не предлагаешь путей решения ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 12:58 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Петя-фильтр в действии: ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 13:00 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг Хупин, Выше дал код дети мои. Он у меня в проекте. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 13:02 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
skyANAПетя-фильтр в действии: Юзер-скрипты рулят :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 13:07 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Фильтруйте. Чо вы так возбудились). Значит правда глаза уколола). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 13:09 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг ХупинПочему бы и нет?если вы прочитаете противопоказания к лекарству реактивному программированию, то увидите что ПРОТИВОПОКАЗАНО легаси проектам. Все будет переписано с нуля. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 14:10 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Petro123Ролг ХупинПочему бы и нет?если вы прочитаете противопоказания к лекарству реактивному программированию, то увидите что ПРОТИВОПОКАЗАНО легаси проектам. Все будет переписано с нуля. это интересно, где такое почитать? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 14:34 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг Хупинэто интересно, где такое почитать?ну, в явном виде встречу - дам. А по логике, вот: авторЕсть два варианта получить данные. Можно пассивным способом, это когда мы сами делаем запрос на получение и нам приходит ответ (вариант pull). И есть второй вариант, когда данные сами нас уведомляют об изменениях и выталкивают данные нам (вариант push). Реактивное приложение, это когда приложение само извещает нас об изменении своего состояния. Не мы делаем запрос и проверяем, а не изменилось ли там что-то, а приложение само нам сигнализирует. Ну и конечно эти события, эти сигналы мы соответственно можем обрабатывать. Это разные парадигмы программирования. При реактивном у тебя поток или стрим с данными. А не запросы к базе "изменилось ли что"? Две парадигмы в одном приложении это просто нонсенс. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 15:24 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
skyANAПетя-фильтр в действии: Скрыть просто, а вот скажем затроить его сообщения слабо? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 16:07 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
ЕвгенийВ, Затроить это размножить чи шо?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 16:12 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Petro123, ага ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 16:27 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
ЕвгенийВСкрыть просто, а вот скажем затроить его сообщения слабо? :) Со скоростью размножения его сообщений в этом нет нужды. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 16:33 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
ЕвгенийВ, Уж лучше пусть не читают. Один тут с плакатами скринами пришел))). Не буди мафию. Не пятница. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 16:41 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
ЕвгенийВskyANAПетя-фильтр в действии: Скрыть просто, а вот скажем затроить его сообщения слабо? :) А вот скрипт бы - Петя-собеседник, т.е. Петро пишет, а этот ему отвечает типа: о, йез! и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 17:35 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг Хупин, Угу. Вы написали Г. код и не сумели событи отправить из А в Б. А вам надо писать: "хороший мальчик))) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 17:44 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Ролг Хупин, Ждем третью твою тему про Петю. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 17:46 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
ЕвгенийВskyANAПетя-фильтр в действии: Скрыть просто, а вот скажем затроить его сообщения слабо? :) Минутку, вуаля! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 19:24 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2019, 21:52 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
skyANA, а как сделал то? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 09:40 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
ЕвгенийВskyANA, а как сделал то? :)Молча ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 10:38 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
Дмитрий МухМолча Все понятно. Фотошоп. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 11:06 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
ЕвгенийВДмитрий МухМолча Все понятно. Фотошоп. Ни фига не угадал. Chrome developer tools + FastStone Capture Если тебе нужен скрипт, чтобы утраивать Петины сообщения, так и скажи. Я вполне лоялен к таким странным желаниям. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 14:16 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
ЕвгенийВ, лови: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Жду скриншота, подтверждающего то, что ты его используешь ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 14:41 |
|
Reactive: как реализовать такую обработку?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2019, 15:04 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1398925]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
129ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
others: | 263ms |
total: | 516ms |
0 / 0 |