|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
|||||||||||||||||||||
MVVM postgres17.06.2020, 10:41. Показов 18713. Ответов 200
Метки нет (Все метки)
учу mvvm
появилось много вопросов я создал модель Кликните здесь для просмотра всего текста
создал сервис , который должен заполнять данными я это сделал так Кликните здесь для просмотра всего текста
после чего в основном классе Кликните здесь для просмотра всего текста
и тут первый вопрос. можно это сделать без циклов ? например сразу конвертировать в BindingList и как вообще правильно заполнять данными из бд? дальше я показываю таблицу в view Кликните здесь для просмотра всего текста
и снова вопрос. мне нужно добавлять данные в BindingList и при событии добавления/удаления/изменения делать изменения в бд? Или просто делать запросы в бд update/insert и после этого заново заполнять данными? второе звучит проще и логичней для меня.
0
|
|||||||||||||||||||||
| 17.06.2020, 10:41 | |
|
Ответы с готовыми решениями:
200
Mvvm
|
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||
| 21.03.2021, 18:10 [ТС] | ||
|
я на гите в этом же репозитории ветку новую сделал где все в отдельных проектах
0
|
||
|
Модератор
|
||
| 21.03.2021, 19:06 | ||
|
В библиотеке находится интерфейс VM. VM его реализует. View получает VM через интерфейс. При запуске приложения App (если несколько реализаций интерфейса) выбирает нужную реализацию интерфейса, создаёт её экземпляр, внедряет в него экземпляр Модели, потом создаёт экземпляр View (окна или окон) и передаёт ему экземпляр VM. В том числе это реализуется через Локатор в реcурсах App. Свойства Локатора - это отдельные VM или иные контейнеры для данных доступ к которым может получить напрямую любой WPF UI компонент. Одна из возможных реализаций Локатора: 2. Передача данных через экземпляр класса, создание и использование Локаторов.
1
|
||
|
Модератор
|
||
| 21.03.2021, 19:07 | ||
|
Библиотека напротив - ничего ни о ком не знает. Есть только ссылки НА НЕЁ. То есть все знают о ней, но ей ни о ком знать не нужно. И подобные циклические зависимости в Студии нельзя создавать в принципе. Это тоже является одной из причин по которой интерфейсы, базовые типы, типы для данных должны быть вынесены в отдельную библиотеку (или библиотеки).
0
|
||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
|||||||
| 22.03.2021, 14:54 [ТС] | |||||||
|
что должно быть в библиотеке?сейчас там :
хотя я думаю проще на гите посмотреть все что нужно вообщем я запутался еще больше с схемой этой, ссылкой на проект с локатором и вашим описанием. не складывается общая картина в голове
0
|
|||||||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||
| 22.03.2021, 15:55 [ТС] | ||
|
Да , она.
Сейчас, минутку Добавлено через 7 минут я добавил вас как Collaborators. по сути это полный доступ Добавлено через 18 секунд странно что не работает Добавлено через 8 минут
0
|
||
|
Модератор
|
|||||||
| 22.03.2021, 16:03 | |||||||
|
Добавлено через 2 минуты onimor, поэтапно давайте разбираться - я же не знаю вашего Решения. Начнём с класса
Поля path, _settingName и FullPatch - создаются один раз в экземпляре и больше не меняются? Это постоянные на всё время жизни приложения? Или в ходе установки, поддержки приложения могут меняться?
0
|
|||||||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||
| 22.03.2021, 16:07 [ТС] | ||
|
chakDB() - если базы или таблиц нет то создает их. TakeSetting() - возвращает List с настройками , которые берет и таблицы SaveSetting()- Принимает List и Сохраняет в таблицу настройки заменяя текущую запись
0
|
||
|
Модератор
|
|
| 22.03.2021, 16:07 | |
|
По сути только два публичных метода: получить и сохранить настройки.
Почему настройки это просто список строк? Как-то очень необычно. Чаше бывает словарь: ключ (string) - значение (object, string или уже конкретный конечный тип).
0
|
|
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
|
| 22.03.2021, 16:08 [ТС] | |
|
0
|
|
|
Модератор
|
||
| 22.03.2021, 16:09 | ||
|
Я пока логику трогать не буду - только связи.
Добавлено через 1 минуту Но допустим, вы кому-то устанавливаете эту программу, могут там понадобится другие значения? Или это константы на всю вечность?
0
|
||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
|||
| 22.03.2021, 16:16 [ТС] | |||
|
Добавлено через 4 минуты
0
|
|||
|
Модератор
|
||||||
| 22.03.2021, 16:21 | ||||||
|
onimor, а где используется класс BDClass?
Добавлено через 3 минуты С настройками какие-либо операции кроме хранения нужны? Допустим класс:
0
|
||||||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||||||||
| 22.03.2021, 16:29 [ТС] | ||||||||
|
в текущей ветке Model-> ViewModel Добавлено через 2 минуты Добавлено через 2 минуты из класса postgres, которого там пока нет
0
|
||||||||
|
Модератор
|
||
| 22.03.2021, 16:34 | ||
|
Для одного порта? Просто какая-то несуразица на первый взгляд. Models содержит метод который возвращает список Models ни как не связанных с ней... Добавлено через 1 минуту И почему все свойства строковые? Добавлено через 1 минуту Допустим, для Ip есть класс IPAddress. Почему его не используете?
0
|
||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||||||||
| 22.03.2021, 16:43 [ТС] | ||||||||
0
|
||||||||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||
| 22.03.2021, 16:54 [ТС] | ||
|
0
|
||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||
| 22.03.2021, 19:30 [ТС] | ||
|
пока изучаю, завтра буду пробовать перенести все из ветки dev вместо мсчбоксов в репозитории должны быть события, которые будут уведомлять model , которая будет уведомлять vm , чтоб показать диалог?
0
|
||
| 22.03.2021, 19:30 | |
|
MVVM Model в MVVM Mvvm datagrid ef WPF MVVM MVVM патерн Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|