powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Reactive: как реализовать такую обработку?
51 сообщений из 51, показаны все 3 страниц
Reactive: как реализовать такую обработку?
    #39819663
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть две формы, хотелось бы сделать так:

1. в форме 1 при нажатии на клавишу выполняется запрос к SQL Server.
2. если он выполнился, то в форме1 и в форме 2 перерисовываются контролы (листбоксы, тривью)
3. если не выполнился, то в форме 1 пишется запись в текстбокс об ошибке

Вопрос: я создаю субжект в форме1, подписываюсь в форме1, там же реагирую.
Как быть в форме 2 с подпиской не теже события и реакцией на них? там ведь не виден субжект?

Собственно, хотелось бы сделать подписку и реакцию на то же событие по многим классам приложения, потом и вопрос.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819667
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гугли паттерны "Model-View-Controller" и "Model-View-Presenter".
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819672
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatГугли паттерны "Model-View-Controller" и "Model-View-Presenter".

Хорошо, но это концепция, а как реализовать, используя Reactive то, что я описал?
Т.е., я так понимаю, субжект должен быть виден для обоих классов? Значит, выносить и делать его глобальным?
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819676
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

В MVC модель может быть разшарена между несколькими "view" (представлениями), в данном случае формами. Контроллер формы получает пользовательское событие от формы и обновляет модель. Модель в свою очередь уведомляет все зависящие от неё представления о том что она обновилась. В ответ на это уведомление каждое представление обновляет себя данными модели. В общем случае, да, нужен некоторый глобальный "диспетчер", который управляет созданием представлений (форм), контроллеров, моделей и установлением связей между ними.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819685
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatРолг Хупин,

В MVC модель может быть разшарена между несколькими "view" (представлениями), в данном случае формами. Контроллер формы получает пользовательское событие от формы и обновляет модель. Модель в свою очередь уведомляет все зависящие от неё представления о том что она обновилась. В ответ на это уведомление каждое представление обновляет себя данными модели. В общем случае, да, нужен некоторый глобальный "диспетчер", который управляет созданием представлений (форм), контроллеров, моделей и установлением связей между ними.

ясно, спасибо за комментарий, у меня старое WinForms приложение, накручивать туда еще MVC|MVVM не хотелось бы, хочется проще, добавить реакцию в разных формах/классах на событие, случившееся в каком-то месте
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819699
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупинясно, спасибо за комментарий, у меня старое WinForms приложение, накручивать туда еще MVC|MVVM не хотелось бы, хочется проще, добавить реакцию в разных формах/классах на событие, случившееся в каком-то месте
Паттерн "медиатор" ("посредник")
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819705
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупинменя старое WinFormsmainForm всегда доступна. Пусть и руководит событиями. А все формочки при родах подписываются и умирая отписываются.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819707
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,
Это если легаси проект.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819712
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123mainForm всегда доступна. Пусть и руководит событиями.
Еще пусть она варит кофе и делает марокканский минет.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819716
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,
Все что ты не напишешь, все верно дорогой). Не переживай.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819735
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat Паттерн "медиатор" ("посредник")
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819738
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,
Да)
И если у вас не легаси)
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819739
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Ролг Хупин,
Это если легаси проект.

да не то слово, еще и какой легаси, не хочется лишний раз трогать
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819745
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинЕсть две формы, хотелось бы сделать так:

1. в форме 1 при нажатии на клавишу выполняется запрос к SQL Server.
2. если он выполнился, то в форме1 и в форме 2 перерисовываются контролы (листбоксы, тривью)
3. если не выполнился, то в форме 1 пишется запись в текстбокс об ошибке

Вопрос: я создаю субжект в форме1, подписываюсь в форме1, там же реагирую.
Как быть в форме 2 с подпиской не теже события и реакцией на них? там ведь не виден субжект?

Собственно, хотелось бы сделать подписку и реакцию на то же событие по многим классам приложения, потом и вопрос.
Речь об https://reactiveui.net/docs/guidelines/platform/windows-forms ?
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819746
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Ролг Хупинменя старое WinFormsmainForm всегда доступна. Пусть и руководит событиями. А все формочки при родах подписываются и умирая отписываются.

В общем, сделал так: сделал Singleton, там живет субжект, каждая форма берет его, подписывается и реагирует.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819750
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинPetro123Ролг Хупин,
Это если легаси проект.

да не то слово, еще и какой легаси, не хочется лишний раз трогать

В mainForm добавить интефейс. , IAddEventDB
- заругается... дописать метод из него.
- в этом методе вызвать form2.
А метод запустит form1
Все.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819751
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинSingletonантипаттерн
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819752
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинВ общем, сделал так: сделал Singleton, там живет субжект, каждая форма берет его, подписывается и реагирует.

Да, зачот, все правильно.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819755
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинfkthatРолг Хупин,

В MVC модель может быть разшарена между несколькими "view" (представлениями), в данном случае формами. Контроллер формы получает пользовательское событие от формы и обновляет модель. Модель в свою очередь уведомляет все зависящие от неё представления о том что она обновилась. В ответ на это уведомление каждое представление обновляет себя данными модели. В общем случае, да, нужен некоторый глобальный "диспетчер", который управляет созданием представлений (форм), контроллеров, моделей и установлением связей между ними.

ясно, спасибо за комментарий, у меня старое WinForms приложение, накручивать туда еще MVC|MVVM не хотелось бы, хочется проще, добавить реакцию в разных формах/классах на событие, случившееся в каком-то месте
Типа при наступлении некого события необходимо выполнить команду Refresh.

Ну заведи интерфейс ICommandHandler, пусть твои формы его реализуют, а главная форма выступает диспетчером команд.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819756
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинPetro123пропущено...
mainForm всегда доступна. Пусть и руководит событиями. А все формочки при родах подписываются и умирая отписываются.

В общем, сделал так: сделал Singleton, там живет субжект, каждая форма берет его, подписывается и реагирует.
Типа некий общий Store/State?
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819757
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatРолг Хупинясно, спасибо за комментарий, у меня старое WinForms приложение, накручивать туда еще MVC|MVVM не хотелось бы, хочется проще, добавить реакцию в разных формах/классах на событие, случившееся в каком-то месте
Паттерн "медиатор" ("посредник")

это полезный шаблон, но в нем каждому юзеру передается медиатор, это еще ладно, но медиатор должен знать обо всех юзерах.
Синглетон вроде как более оторван.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819759
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAРолг Хупинпропущено...


В общем, сделал так: сделал Singleton, там живет субжект, каждая форма берет его, подписывается и реагирует.
Типа некий общий Store/State?

да, практически - общий, глобальный Субжект
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819762
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAРолг ХупинЕсть две формы, хотелось бы сделать так:

1. в форме 1 при нажатии на клавишу выполняется запрос к SQL Server.
2. если он выполнился, то в форме1 и в форме 2 перерисовываются контролы (листбоксы, тривью)
3. если не выполнился, то в форме 1 пишется запись в текстбокс об ошибке

Вопрос: я создаю субжект в форме1, подписываюсь в форме1, там же реагирую.
Как быть в форме 2 с подпиской не теже события и реакцией на них? там ведь не виден субжект?

Собственно, хотелось бы сделать подписку и реакцию на то же событие по многим классам приложения, потом и вопрос.
Речь об https://reactiveui.net/docs/guidelines/platform/windows-forms ?

Да, но чтобы такое использовать надо много существующего кода перелопатить, чего не хотелось бы
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819764
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

я вот только одного не пойму...
ReactiveUI - это полноценный MVVM-фреймворк: bindings, routing, message bus, commands и прочее...
зачем что-то накручивать, если в нём итак всё есть?
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819765
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинskyANAпропущено...

Речь об https://reactiveui.net/docs/guidelines/platform/windows-forms ?

Да, но чтобы такое использовать надо много существующего кода перелопатить, чего не хотелось бы
понятно

тогда зачем тащить весь ReactiveUI, реализуй тупо маленькую часть из него
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819771
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинДа, но чтобы такое использовать надо много существующего кода перелопатить, чего не хотелось быто есть твоя идея притащить react на банальное событие?
Смешно.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819789
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Ролг ХупинДа, но чтобы такое использовать надо много существующего кода перелопатить, чего не хотелось быто есть твоя идея притащить react на банальное событие?
Смешно.

Почему бы и нет? а что - не смешно?
Ты отличаешься тем, что не предлагаешь путей решения
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819794
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Петя-фильтр в действии:
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819797
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,
Выше дал код дети мои.
Он у меня в проекте.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819801
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПетя-фильтр в действии:
Юзер-скрипты рулят :)
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819805
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,
Фильтруйте. Чо вы так возбудились).
Значит правда глаза уколола).
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819833
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинПочему бы и нет?если вы прочитаете противопоказания к лекарству реактивному программированию, то увидите что ПРОТИВОПОКАЗАНО легаси проектам. Все будет переписано с нуля.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819849
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Ролг ХупинПочему бы и нет?если вы прочитаете противопоказания к лекарству реактивному программированию, то увидите что ПРОТИВОПОКАЗАНО легаси проектам. Все будет переписано с нуля.

это интересно, где такое почитать?
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819869
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупинэто интересно, где такое почитать?ну, в явном виде встречу - дам.
А по логике, вот:
авторЕсть два варианта получить данные. Можно пассивным способом, это когда мы сами делаем запрос на получение и нам приходит ответ (вариант pull). И есть второй вариант, когда данные сами нас уведомляют об изменениях и выталкивают данные нам (вариант push). Реактивное приложение, это когда приложение само извещает нас об изменении своего состояния. Не мы делаем запрос и проверяем, а не изменилось ли там что-то, а приложение само нам сигнализирует. Ну и конечно эти события, эти сигналы мы соответственно можем обрабатывать.
Это разные парадигмы программирования.
При реактивном у тебя поток или стрим с данными. А не запросы к базе "изменилось ли что"?
Две парадигмы в одном приложении это просто нонсенс.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819917
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПетя-фильтр в действии:
Скрыть просто, а вот скажем затроить его сообщения слабо? :)
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819933
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,
Затроить это размножить чи шо?)))
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819953
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
ага
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819959
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВСкрыть просто, а вот скажем затроить его сообщения слабо? :)
Со скоростью размножения его сообщений в этом нет нужды.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39819966
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,
Уж лучше пусть не читают. Один тут с плакатами скринами пришел))).
Не буди мафию. Не пятница.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39820019
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВskyANAПетя-фильтр в действии:
Скрыть просто, а вот скажем затроить его сообщения слабо? :)

А вот скрипт бы - Петя-собеседник, т.е. Петро пишет, а этот ему отвечает типа: о, йез!
и т.д.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39820023
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,
Угу.
Вы написали Г. код и не сумели событи отправить из А в Б.
А вам надо писать: "хороший мальчик)))
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39820024
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,
Ждем третью твою тему про Петю.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39820044
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВskyANAПетя-фильтр в действии:
Скрыть просто, а вот скажем затроить его сообщения слабо? :)
Минутку, вуаля!
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39820076
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39820217
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
а как сделал то? :)
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39820242
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВskyANA,
а как сделал то? :)Молча
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39820256
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухМолча
Все понятно. Фотошоп.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39820326
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВДмитрий МухМолча
Все понятно. Фотошоп.
Ни фига не угадал. Chrome developer tools + FastStone Capture

Если тебе нужен скрипт, чтобы утраивать Петины сообщения, так и скажи.
Я вполне лоялен к таким странным желаниям.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39820334
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

лови:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
// ==UserScript==
// @name         Petro123x3
// @namespace    https://www.sql.ru/
// @version      0.1
// @description  Triples all Petro123 messages on a page!
// @author       skyANA
// @match        https://www.sql.ru/forum/*
// ==/UserScript==

(function() {
    'use strict';

    var messages = document.querySelectorAll('table.af-userid-27411');

    if (messages) {
        messages.forEach(m => [0,1].forEach(_ => m.parentNode.insertBefore(m.cloneNode(true), m)));
    }
})();


Жду скриншота, подтверждающего то, что ты его используешь
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39820346
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЖду скриншота, подтверждающего то, что ты его используешь

Я не умею.
...
Рейтинг: 0 / 0
Reactive: как реализовать такую обработку?
    #39820420
WebPrj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Модератор,
Чистить топик кто будет?
Кто его или их вырастил, тот за ними и подчищает.
...
Рейтинг: 0 / 0
51 сообщений из 51, показаны все 3 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Reactive: как реализовать такую обработку?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]