Неправильно ли вы использовать все viewModels singleton, если вам не нужны несколько экземпляров каждого экрана?
MVVM ViewModels Singleton
Ответ 1
Да, потому что синглтоны злы.
Вероятно, вы столкнетесь с проблемами, когда виртуальные машины удерживаются в состоянии, которое может быть не синхронизировано с вашей базой данных и приводит к чрезмерному потреблению памяти. Это будет намного сложнее unit test из-за сохранения состояния.
Ответ 2
одиночек:
- сделать тестирование сложнее
- дают вам простуды позже, если вам нужно больше одного из них
- трудно контролировать, где они созданы.
Поэтому используйте шаблон singleton, если у вас есть очень хорошая причина, чтобы сделать это - "потому что вы можете" не очень хорошо.
Ответ 3
Да.
Во-первых, вы вполне можете поставить себя в угол для любой расширяемости, в зависимости от реализации singleton. Во-вторых, дизайн, вероятно, не будет очень чистым, ссылаясь на статические синглтоны во всем мире. В-третьих, модульное тестирование будет либо трудным, либо не будет тиражировать фактическое использование класса, или и то, и другое. Forth, если у вас есть синглтоны, вы решаете любые проблемы дизайна для вас? Если вы просто пытаетесь сохранить ресурсы, я просто забуду это.