|
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 |
|
|
start [/forum/topic.php?fid=20&fpage=20&tid=1398925]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 258ms |
total: | 412ms |
0 / 0 |