Me veio essa curiosidade ao decorrer do curso. Andei observando que na hora de definir o tipo das propriedades que não são dos tipos primários estamos definindo como, por exemplo, que o tipo da propriedade Produto é da interface IList<>.
Por que definimos como o tipo da interface e não o tipo da classe List<>?
Qual a diferença entre eu definir uma propriedade do tipo IList<> e uma do tipo List<>?