Actualmente mi vista tiene la necesidad de recibir una Lista que contiene información de dos modelos diferentes.
Algo como esto
public class ViewModel { [JsonProperty("")] public List<Unknown> viewModelList; } Este tipo Unknown tendría información de dos modelos diferentes, así.
public class FirstModel { int w; int x; } public class SecondModel { int y; int z; } public class Unknown //Model or ViewModel? { [JsonProperty("")] int w; //From FirstModel [JsonProperty("")] int x; //From SecondModel } Mi pregunta es, ¿este tipo Unknown tendría que ser un modelo? Mi idea de un modelo es que representan entidades comerciales o entidades de base de datos, y ViewModel son abstracciones de esos modelos. En este caso, Unknown no es nada, sino una abstracción de FirstModel y SecondModel , por lo que creo que se caracteriza más como ViewModel que como Model, pero luego, si lo trato como ViewModel, no puedo hacer una lista. de ella, porque de lo contrario mi código sería el siguiente
public class ViewModel { [JsonProperty("")] public List<UnknownViewModel> viewModelList; }Sería un ViewModel dentro de un ViewModel, y no sé si esto es una práctica común o buena.
No hay absolutamente ninguna diferencia funcional en cómo lo llames. Lo que importa es cómo usas los tipos.
Un modelo es simplemente un tipo que contiene datos (o estado). Y un modelo de vista , como su nombre indica, es el modelo que se utiliza como respaldo para una vista (o presentación). Eso es todo.
Aquí, en su ejemplo, está usando Unknown como modelo, uno que se usa como el tipo de elemento de una propiedad de colección de un tipo que presumiblemente se usará como modelo de vista.