Я пытаюсь развернуть шаблон стратегии со структурой сущностей и шаблоном репозитория на простом примере, таком как User
и Post
, в котором у пользователя много сообщений.
Из этого ответа здесь , у меня есть следующий домен:
public interface IUser {
public Guid UserId { get; set; }
public string UserName { get; set; }
public IEnumerable<Post> Posts { get; set; }
}
Добавьте интерфейсы для поддержки ролей, в которых вы будете использовать пользователя.
public interface IAddPostsToUser : IUser {
public void AddPost(Post post);
}
Теперь мой репозиторий выглядит так:
public interface IUserRepository {
User Get<TRole>(Guid userId) where TRole : IUser;
}
Стратегия (Где я застрял). Что мне делать с этим кодом? Могу ли я привести пример того, как это реализовать, куда мне это поместить?
public interface IFetchingStrategy<TRole> {
TRole Fetch(Guid id, IRepository<TRole> role)
}
Моя основная проблема заключалась в том, что задавали в этот вопрос . Мне бы хотелось, чтобы пользователи без постов и пользователи с постами использовали шаблон стратегии.