Я пытаюсь определить лучший дизайн для приложения, которое получит доступ к нескольким различным API социальных сетей. Вот интерфейс, на котором я не остановился, потому что он не совсем правильный. Я хотел бы знать, что было бы лучше дизайнерского подхода к этой проблеме ...
public interface ISocialNetworkAPI<TApiEntity> where TApiEntity : SocialNetworkEntity
{
List<TApiEntity> GetAllFollowersFor(string networkUserName);
List<TApiEntity> GetAllFriendsFor(string networkUserName);
List<long> GetFollowerIdsFor(long networkUserId);
List<long> GetFollowerIdsFor(string networkUserName);
List<long> GetFriendIdsFor(string networkUser);
TApiEntity GetUser(string networkUserName);
}
Я также планирую использовать контейнер DI для внедрения соответствующего конкретного объекта социальной сети на основе контекста вызова.