Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/29: Рейтинг темы: голосов - 29, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 33

Паттерн MVC в Windows Forms. С чем едят?

07.01.2020, 12:19. Показов 6376. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени, уважаемые форумчане.
Пишу приложение которое умеет:
1. Извлекать данные из xml файлов.
Xml файлы:
2 файла с ценами ингредиентов (2 типа ингредиентов, по файлу на каждый).
очень много xml файлов рецептов в которых перечисляются ингредиенты и их количество.

2. Отображать рецепты по категориям (в меню приложения можно выбрать категорию и приложение отобразит только рецепты нужной категории)
3. Отображать материалы для изменения их цен.

В будущем планируется прикрутить сравнение цен приготовления по рецептам для того чтобы понимать что выгоднее готовить, а так же все что придёт в голову.

Наступил момент когда обычное накидывание методов завело в дебри багов и мне посоветовали присмотреться к паттерну MVC.

После прочтения теории по данному паттерну пришло понимание что:
Модель - отвечает за хранение данных и работу непосредственно с этими данными (изменение, вычисление и т.д).
Представление - отвечает за отображение данных пользователю.
Контроллер - посредник между пользователем и моделью(данными). Он передает команды пользователя которые должны повлиять на данные из модели.
Таким образом возникает цепь:
Пользователь использует контроллер который управляет моделью которая обновляет представление которое видит пользователь.

Но я понятия не имею каким образом использовать этот паттерн на практике. То-есть в теории все понятно, но как это реализуется в коде абсолютно не понятно.

Буду безмерно благодарен любой помощи. Если нужна какая-либо дополнительная информация о проекте, пожалуйста, напишите, я дополню. Я бы вывалил весь свой код с удовольствием, но мне посоветовали так не делать т.к там без 50грамм не разобраться.


P.S Я новичок, поэтому отдельная просьба - по возможности используйте слэнг и терминологию по минимуму

Добавлено через 4 часа 29 минут
Уточню свой вопрос...

Я не пойму что именно из моего проекта может относиться к модели, к контроллеру, а что к представлению.

Пожалуйста, набросайте пару идей, просто из головы, пусть просто гипотетические, но по правилам MVC.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.01.2020, 12:19
Ответы с готовыми решениями:

Чем отличается паттерн MVVM от MVC?
И если можно то поподробней о них. MVVM имеется в виду относительно C# WPF.

Меньшее время открытие сайта MVC чем WEB.FORMS
Добрый вечер. Есть VPN сервер 2003 с ISS 6. До этого были подняты сайты на формах, 1-2 секунды открывает, все сайты были переделаны на MVC...

Переделать Windows Forms приложение на ASP.NET MVC
у меня есть приложение на windows forms. мне его надо переписать под ASP.NET. слишком ли сложно это переделать? есть ли там тоже формочки,...

7
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16115 / 11236 / 2887
Регистрация: 21.04.2018
Сообщений: 33,037
Записей в блоге: 2
07.01.2020, 12:59
GeneralBoobs, прочитайте рекомендации от Storm23 Архитектура ПО в WinForms (FAQ & HowTo)

Если решите перейти на WPF, то могу помочь.
Готовые решения, примеры и рекомендации начинающим на WPF [Элд Хасп]
1
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10425 / 5155 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
07.01.2020, 13:06
Цитата Сообщение от GeneralBoobs Посмотреть сообщение
Паттерн MVC в Windows Forms
Чистый MVC не используется в WinForms. MVC для веба в основном, где есть естественное разделение представления и серверной части. Для десктопных приложений используется MVP и его вариации.
Вот в этой теме подробно, с примерами разбирается один из возможных вариантов реализации MVP:
Паттерн MVP для WinForms
1
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 33
07.01.2020, 17:58  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Если решите перейти на WPF, то могу помочь.
Вы знаете, у меня была мысль перейти на WPF, я даже пытался это сделать, но пока трудновато. Я осваиваю WinForms и голова ими забита. А тут еще куча информации по WPF, дак еще и отличий большое количество. Но большое спасибо за предложение. Уверен, я им воспользуюсь в будущем

Цитата Сообщение от Storm23 Посмотреть сообщение
Чистый MVC не используется в WinForms.
Быть может поэтому мне так трудно переложить функционал своего проекта на MVC...

Цитата Сообщение от Storm23 Посмотреть сообщение
Для десктопных приложений используется MVP и его вариации
С горем пополам я, кажется, написал модель для приложения. На очереди представление. Как раз можно отойти от контроллера в сторону представителя.

Цитата Сообщение от Storm23 Посмотреть сообщение
Вот в этой теме подробно
Огромное спасибо! Обязательно прочту!
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16115 / 11236 / 2887
Регистрация: 21.04.2018
Сообщений: 33,037
Записей в блоге: 2
07.01.2020, 18:29
Цитата Сообщение от GeneralBoobs Посмотреть сообщение
Вы знаете, у меня была мысль перейти на WPF, я даже пытался это сделать, но пока трудновато. Я осваиваю WinForms и голова ими забита. А тут еще куча информации по WPF, дак еще и отличий большое количество. Но большое спасибо за предложение. Уверен, я им воспользуюсь в будущем
По опыту моего общения, переходить с WinForms на WPF гораздо сложнее чем сразу изучать WPF.
Почти все кто пытался сделать такой переход потерпели неудачу.

С WPF на WinForms перейти можно довольно безболезненно, правда очень редко у кого возникает такое желание.

Поэтому мой совет, если вы в будущем собираетесь осваивать WPF, то осваивайте сейчас, а не после WinWorms.
1
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 33
07.01.2020, 18:42  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Поэтому мой совет, если вы в будущем собираетесь осваивать WPF, то осваивайте сейчас, а не после WinWorms.
Я Вас услышал. Думаю, что после переноса того что есть из хаотичного представления в паттерн буду переносить в WPF дабы не залезать глубже в дебри.
А пока, если не сложно, объясните мне пожалуйста ключевые отличия WPF и WinForms. Для чего лучше использовать WPF, а для чего WinForms и почему все-же WPF лучше?
Буду очень признателен за развернутый ответ.

Цитата Сообщение от Элд Хасп Посмотреть сообщение
прочитайте рекомендации от Storm23 Архитектура ПО в WinForms (FAQ & HowTo)
Пушечное чтиво! Огромное спасибо за труд!
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16115 / 11236 / 2887
Регистрация: 21.04.2018
Сообщений: 33,037
Записей в блоге: 2
07.01.2020, 19:03
Цитата Сообщение от GeneralBoobs Посмотреть сообщение
Буду очень признателен за развернутый ответ.
Прочитайте темы из Готовые решения, примеры и рекомендации начинающим на WPF [Элд Хасп].

Особенно "WPF vs WinForms (для начинающих)".
1
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 33
07.01.2020, 19:22  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Прочитайте темы
Сделал заметку. Еще раз большое спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.01.2020, 19:22
Помогаю со студенческими работами здесь

В чём разница ASP.NET MVC и Web Forms? И есть ли литература и вообще где изучать последнее?
В чём разница ASP.net mvc и web forms? И есть ли литература и вообще где изучать последнее?

Как лучше разрабатывать приложения по модели MVC в Windows Forms?
Т.е я обязан отделить логику,данные и форму. Но мне нужна совместимость формы и логики. Т.е логика должна работать с формой. Рационально ли...

В чём разница C# .NET и C# Windows Forms?
В чём разница C# .NET и C# Windows Forms?

В чем тут ошибка? (C# Windows Forms)
В чем тут ошибка? (C# Windows Forms) public WlanClient() { Wlan.ThrowIfError( ...

Почему Windows Forms лучше чем WPF?
Windows Forms полагается на чистом Windows API. С помощью Windows Forms можно написать любую программу которая запускается на Windows. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru