просто Простой вопрос: правильно ли я реализую QueryDispatcherAsync?
Интерфейс:
public interface IQueryDispatcherAsync
{
Task<TQueryModel> ExecuteAsync<TQueryModel>(QueryAsync query) where TQueryModel : QueryModel;
}
Класс QueryDispatcher:
public class QueryDispatcherAsync : IQueryDispatcherAsync
{
private readonly IRepositoryFactory _repositoryFactory;
public QueryDispatcherAsync(IRepositoryFactory repositoryFactory)
{
_repositoryFactory = repositoryFactory;
}
public async Task<TQueryModel> ExecuteAsync<TQueryModel>(QueryAsync query) where TQueryModel : QueryModel
{
try
{
query.RepositoryFactory = _repositoryFactory;
var model = await query.ExecuteAsync();
return (TQueryModel)model;
}
catch (Exception ex)
{
//TODO: Write some kind of error reporting service that logs errors and reports to dev
var exception = ex;
throw;
}
}
}
Класс QueryAsync:
public abstract class QueryAsync
{
public IRepositoryFactory RepositoryFactory { get; set; }
public abstract Task<QueryModel> ExecuteAsync();
}
Класс QueryModel: "Здесь нет ничего важного, чтобы просто указать, что это тип возвращаемого запроса":
public class QueryModel
{
}