Рассмотрим следующие интерфейсы:
public interface IPlayerRepository
{
IPlayerInfo GetPlayerInfo(int id);
}
public interface IPlayerInfo
{
public int Id { get; set; }
public int GamesPlayed { get; set; }
public int GamesWon { get; set; }
}
и связанные реализации:
public class PlayerRepository : IPlayerRepository
{
IPlayerInfo GetPlayerInfo(int id)
{
// read from external data store
return new PlayerInfo();
}
}
public class PlayerInfo : IPlayerInfo
{
public int Id { get; set; }
public int GamesPlayed { get; set; }
public int GamesWon { get; set; }
}
Есть ли какое-либо значение в наличии отдельного интерфейса IPlayerInfo
, учитывая, что класс существует только как набор свойств, которые будут возвращены этим методом? Желательно ли, чтобы метод IPlayerRepository.GetPlayerInfo
возвращал конкретный PlayerInfo
объект?