Ну, в шаблоне MVVM хорошая практика заключается в том, что две модели не должны знать или разговаривать друг с другом. Это означает, что вы не должны создавать объект одной модели в другом, а затем регистрироваться для события или выполнять подобные вещи.Почему две модели не должны разговаривать с каждым из них
Но почему, что не так, если две модели знают друг друга. Я пишу код и что произойдет, если обе модели узнают друг друга.
ответ
Часто модели идеально подходят для взаимодействия друг с другом. Родительские/дочерние отношения в представлении включают модель родительского представления, содержащую коллекцию моделей просмотра детей. Существует ряд обстоятельств, в которых, например, доступность команд в родительском представлении зависит от состояния его дочерних элементов. Иногда бывает целесообразно делегировать это отдельному классу контроллера, но также часто не стоит прилагать усилий для этого.
Это действительно зависит от общей сложности вашего приложения. Иногда такие усилия необходимы; иногда это просто золочение.
Абсолютно, но как только вы не пройдете весь свиньи с разделением объектов, вы не сможете автоматизировать их тестирование (что является главной причиной MVVM в первую очередь). Cheers –
Как просматривать модель, взаимодействующую с другим рендерингом, один из них является неустойчивым? –
Если вы собираетесь обойти MVVM в любом случае вы хотите иметь веские причины (в противном случае вы можете также просто написать его в качестве традиционного кода за и сэкономить набрав) :)
Существует несколько преимуществ использования MVVM, которые в основном предназначены для очень быстрого соединения, модульного тестирования и повторного использования.
Основной принцип слабой связи идет что-то вроде этого:
- взгляд знает, как отображать данные в определенной форме, но понятия не имеет, где данные поступают из.
- ViewModel предоставляет определенную форму данных и настроек, , что представления могут использовать, но не имеют представления, кто его отображает.
- Модель знает, как хранить общие данные, но не знаю, кто ее потребляет
- Контроллер (отсутствует в большинстве объяснений MVVM) решает, какие данные извлекать, какие данные отображать и где их отображать. Именно здесь принадлежит принятие решений.
Если вам требуются, чтобы ваши модели ViewModels знали друг о друге, то, скорее всего, отсутствует объект Controller, который управляет вашими 2 ViewModels и связанными с ними моделями/представлениями.
Если вы можете предоставить более подробную информацию о том, почему ваши модели в настоящее время связаны, я могу предложить альтернативу.
- 1. Одновременно должны создаваться две связанные модели Rails.
- 2. Должны ли действия разговаривать с магазином?
- 3. Laravel, должны ли события разговаривать с базой данных?
- 4. Несколько последовательных наблюдений с своевременной задержкой между каждым из них
- 5. Django две модели с ForeginKey, но одна из них не определена
- 6. Как две программы могут разговаривать друг с другом в Java?
- 7. DataNodes не могут разговаривать с NameNode
- 8. Как сравнить две строки с unicode, некоторые из них?
- 9. Две модели с логином
- 10. Почему php не сможет разговаривать с локальной базой данных sql?
- 11. Kubernetes-Minion не может разговаривать с мастером
- 12. Как разговаривать с клавиатурой Bluetooth?
- 13. почему некоторые родные Clojure пространства имен должны быть необходимы и некоторые из них не
- 14. Две рубиновые модели. has_one и принадлежит_to. Почему у вас две модели?
- 15. Как связать эти две модели так, чтобы один из них обновил этот же экземпляр?
- 16. Почему не вызываются вызовы, если один из них раскоментирован?
- 17. Клиент не будет разговаривать с службой ATL
- 18. Контейнер не может разговаривать с другим контейнером
- 19. Запросить две разные модели одновременно
- 20. Почему мой список не перечитывается по каждому из них?
- 21. ссылки две модели друг с другом
- 22. Запрос Две модели вместе
- 23. Почему говорится, что размерные модели (DM/DW) денормализуются, когда большинство из них находятся в 1NF?
- 24. Рельсы не работают с каждым
- 25. сравнить две строки, оставляющие в них даты, присутствующие в них
- 26. Возможны две ассоциации из той же модели?
- 27. Джанго - соединить две модели
- 28. генерировать 3-х случайные точки с минимальным расстоянием между каждым из них?
- 29. Определите две отдельные переменные в списке слов с каждым циклом
- 30. Nodejs Mongoose визуализируют две модели из коллекций
Я думаю, что это плохо для свободной связи! – cordellcp3