|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.07.2018, 11:30 | #1 |
Участник клуба
Регистрация: 20.02.2015
Сообщений: 1,226
|
C# MVVM где должна находиться логика приложения?
Я только начал изучать MVVM в C#.
У меня вопрос, где должна храниться логика приложения? Во View располагается внешний вид приложения, во ViewModel находится взаимодействие вьюхи и модели, в Model находятся классы данных. Вот в MVC, все понятно, внешний вид во вьюхе, класс работы с данными в модели, а в контроллере располагается логика взаимодействия данных и внешнего вида, там же и методы расчетов. В MVVM, я как-то запутался, где мне размещать логику(к примеру классы и методы пересчетов, и всяких расчетов). Вроде бы ViewModel - это для минимальной логики работы с View. Вот где размещать методы со сложными расчетами? в Model или ViewModel? И где вообще размещать технические классы которые высчитывают что-либо? И можете скинуть проект на mvvm или ссылку для скачивание, где не простенький проект, а нормальный полный проект. Хочу разобраться, что к чему. |
10.07.2018, 12:00 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Model это не просто данные, там и может. Еще часто бывают другие слои типа Service и т.п.
В контроллере в MVC как раз расчеты обычно не делают. Ну и что значит "должна"? Надо понимать зачем вы что-то делаете, что вам это даст.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
10.07.2018, 12:52 | #3 | |
Участник клуба
Регистрация: 20.02.2015
Сообщений: 1,226
|
Цитата:
Где тогда все-таки расчеты делать в Модели? Или Классы с расчетами вообще выносить в папку Common. Есть где про это почитать? а то везде простые примеры как биндить, а мне нужно больше инфы, и желательно на русском, но в данном случаи, и инглишем не побрезгую. |
|
10.07.2018, 15:10 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну так вы определитесь какую вы проблему решаете выносом куда-либо.
Например простые причины не делать расчеты в контроллерах могут быть такими:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 10.07.2018 в 15:12. |
11.07.2018, 08:51 | #5 |
Участник клуба
Регистрация: 20.02.2015
Сообщений: 1,226
|
Alex11223, я так у гугла и спросил "Ну ка ГЮГль, скажи где ставить логику, и шоб быстро!", а он мне в ответ "Слющай, иди ка ты по тысячам фейковых ссылок, сц--ко!"
Alex11223, на твой взгляд, как поступить? Есть большущий класс с разными сложными расчетами. Мне его лучше в модель кинуть? А если модель другая будет, этот же класс в другую модель вставлять, или как? |
11.07.2018, 10:32 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
хз где там фейковые, в основном стековерфлоу и другие подсайты, msdn.
MVVM, MVC и т.п. про GUI, они не описывают все остальное. И никто нигде не говорит, что модель это просто тупые классы со свойствами. Копипаста из первой попавшейся ссылки: "The Model encapsulates the business logic and data that is used by the application. The best way to think of the Model is everything that is not Presentation -- when using a layered application approach, it is everything below the presentation layer (which may include a business layer, service layer, data access layer, data storage layer, etc.)" Еще на русском обсуждение про разные MVC: https://github.com/Hexlet/hexlet-sla...BD%D0%B8%D0%B9 А вообще про куда и что кидать, я ж сказал, в первую очередь зависит от решаемых проблем. Ну и всегда можно перекинуть Не надо просто тупо следовать какому-то паттерну предложенному кем-то когда-то. https://ru.wikipedia.org/wiki/%D0%9A...BB%D1%8C%D1%82 "модель другая будет" это как? Другое приложение что ли? Ну вместо копипаста может быть стоит выделить в библиотеку.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Архитектура приложения и MVVM | Egoist42 | Общие вопросы по программированию, компьютерный форум | 1 | 25.08.2014 09:56 |
Где должны находиться координаты объекта который движется? | pastuhdima | Помощь студентам | 2 | 03.11.2011 22:47 |
C#кнопка выход должна находиться в невидимом состоянии до 3 и после 5 кликов по картинкам | jgosohbis | Помощь студентам | 2 | 30.09.2010 09:17 |
Определить где находиться курсор в ТстрингГрид | IgorKr | Компоненты Delphi | 6 | 11.07.2008 00:48 |