Release v1.0.0
Tổng quan
Phiên bản 1.0.0 là bản phát hành đầu tiên của TVE.PureCQRS, một thư viện CQRS/Mediator nhẹ, tối giản và dễ tích hợp cho các ứng dụng .NET.
Thư viện hỗ trợ:
Sendcho request có và không có responsePublishcho notification/event với nhiều handler- đăng ký handler tự động từ assembly
- pipeline behavior cho các tác vụ cross-cutting
- hoạt động trên
.NET 7,.NET 8và.NET 9
Tính năng nổi bật
1. Mediator nhẹ và hiệu năng cao
- Cung cấp
IMediator,ISendervàIPublisher - Tối ưu bằng cache wrapper và xử lý theo runtime type
- Hỗ trợ cả request generic và request dạng object
2. Hỗ trợ CQRS rõ ràng
IRequest<TResponse>cho truy vấn có dữ liệu trả vềIRequestcho command không trả về kết quảIRequestHandler<TRequest, TResponse>vàIRequestHandler<TRequest>cho xử lý request
3. Notification đa handler
INotificationvàINotificationHandler<TNotification>- Một notification có thể có nhiều handler
- Các handler notification được thực thi song song khi phù hợp
4. Pipeline behavior
- Hỗ trợ
IPipelineBehavior<TRequest, TResponse> - Dễ dàng thêm logging, validation, caching, authorization
- Cho phép mở rộng mà không làm thay đổi handler chính
5. Đăng ký DI đơn giản
- Tự động quét và đăng ký handler từ assembly
- Hỗ trợ cấu hình custom mediator
- Hỗ trợ chọn lifetime cho handler
Hành vi và xử lý lỗi
- Ném
HandlerNotFoundExceptionkhi request không có handler tương ứng - Ném
InvalidRequestExceptionkhi truyền vào object không phải request hợp lệ Publishsử dụng runtime type để xử lý notification chính xác hơn
Ví dụ sử dụng nhanh
builder.Services.AddPureCQRS(config =>
{
config.RegisterServicesFromAssemblyContaining<Program>();
});var user = await mediator.Send(new GetUserByIdQuery(id));
await mediator.Send(new CreateUserCommand("Alice"));
await mediator.Publish(new UserCreatedNotification(id, "Alice"));Ghi chú
Đây là bản phát hành đầu tiên, đặt nền tảng cho việc xây dựng ứng dụng theo hướng CQRS rõ ràng, gọn nhẹ và dễ mở rộng.