Nano Hash - криптовалюты, майнинг, программирование

Могут ли модели общаться друг с другом в MVVM

Может ли модель общаться с другими моделями, в моем случае может ли модель иметь список другой модели, пример:

У меня есть модель под названием Graph и модель под названием Node.

Уместно ли в шаблоне MVVM сделать класс Graph, который является моделью, содержащим в качестве свойства список узлов модели?

08.06.2014

  • Абсолютно уместно. 08.06.2014

Ответы:


1

Да.

MVVM — это просто разделение задач с точки зрения представлений и данных. Представления могут иметь другие представления, а модели могут инкапсулировать другие модели. Модель представления представляет собой гибрид, в котором данные хранятся и собираются с использованием моделей и используются представлениями.

19.07.2014

2

Хотя ответ может быть положительным, вы должны учитывать «правильные» обязанности в MVVM. Пока Модель поддерживает целостность модели (ссылки, проверки домена/проверки), совершенно нормально, когда классы модели «общаются» друг с другом. Однако в целом я предпочитаю, чтобы ViewModel и репозитории отвечали за извлечение данных и их преобразование в классы ViewModel.

Много раз мне не нужна какая-либо логика в модели, модель — это структура, которую я получаю и отправляю в хранилище данных (файл, БД, веб-служба, ...). Модель для меня «просто» данные и предпочтительно генерируется (генерация прокси, Entity Framework, ...)

19.07.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..