bar*_*oma 6 .net c# design-patterns domain-driven-design cqrs
public interface IQueryHandler<in TQuery, out TResult>
where TQuery : IQuery<TResult>
{
TResult Handle(TQuery query);
}
Run Code Online (Sandbox Code Playgroud)
这是一个查询处理程序接口,需要一个参数来执行查询。
public class PlaceByIdHandler : IQueryHandler<PlaceById, PlaceModel>
{
...........
public PlaceModel Execute(PlaceById query)
{
return repository.Query<PlaceModel>("select * from places where id="+ query.id);
}
}
Run Code Online (Sandbox Code Playgroud)
但有些查询不需要参数。例如获取所有地点:
public class PlaceAllHandler : IQueryHandler<PlaceAll, PlaceModel>
{
..........
public PlaceModel Execute(PlaceAll query)
{
return return repository.Query<PlaceModel>("select * from places");
}
}
Run Code Online (Sandbox Code Playgroud)
但现在 PlaceAll 是一个没有 Member 的类。
public class PlaceAll{}
Run Code Online (Sandbox Code Playgroud)
这是真正的方法吗?有订单吗?