Если ваши пользователи не хотят этого от вас, ваш API должен предоставлять как можно меньше подробностей реализации, и в этом случае использование List<Person>
является подробностью реализации.Например, если вы или ваши пользователи знают, что они хотят получить доступ к результирующему набору по индексу, чем, возможно, лучше вернуть IList<Person>
вместо ICollection<Person>
, но если вы не уверены в пользовательских сценариях, вы должны представить самые базовые абстракции, так как выможет (т. е. в этом случае может быть достаточно IEnumerable<Person>
).
И помните, что если в последнее время вы решите использовать более производный тип возврата, это не сломает существующие клиенты, но вы не можете использовать большена основе возвращаемого типа без перерыва некоторые из них.