public interface IQueryHandler<in TQuery, out TResult>
where TQuery : IQuery<TResult>
{
TResult Handle(TQuery query);
}
Il s'agit d'une interface de gestionnaire de requêtes qui nécessite un paramètre pour exécuter la requête.Gestionnaire de requêtes CQRS sans paramètre
public class PlaceByIdHandler : IQueryHandler<PlaceById, PlaceModel>
{
...........
public PlaceModel Execute(PlaceById query)
{
return repository.Query<PlaceModel>("select * from places where id="+ query.id);
}
}
Mais certaines requêtes n'ont pas besoin de paramètre. Par exemple Obtenir tous les lieux:
public class PlaceAllHandler : IQueryHandler<PlaceAll, PlaceModel>
{
..........
public PlaceModel Execute(PlaceAll query)
{
return return repository.Query<PlaceModel>("select * from places");
}
}
Mais maintenant PlaceAll est une classe qui n'a aucun membre.
public class PlaceAll{}
Est-ce une véritable approche? Y a-t-il un ordre?
'TResult' doit être en anse TResult Execute' dans l'interface – xanatos
qui stuation sera être manipuler? Est-ce que Command? – barteloma