BaseSystem.BuildingBlocks.Messaging.MassTransit 1.0.0

BaseSystem.BuildingBlocks • Rövid áttekintés

Cél: Újrahasznosítható .NET építőkockák DDD/CQRS-alapú alkalmazásokhoz.
A csomagok szétválasztják az absztrakciókat az implementációktól, így csak azt húzod be, amire tényleg szükséged van.


Miért ilyen lebontás?

  • Laza csatolás: a domain mag (DDD) nem függ EF-től, webtől vagy üzenetküldőtől.
  • Opcionális modulok: EF, MediatR, ASP.NET Core, MassTransit külön csomagokban.
  • Könnyű cserélhetőség: bármely réteg lecserélhető (pl. más ORM vagy bus).
  • Tiszta rétegek: a domain szabályok nem „szivárognak” át az infrastrukturába és fordítva.

Csomagok

1) BaseSystem.BuildingBlocks.DDD.Abstractions

Mi ez?
DDD-primitívek és absztrakciók: Entity, AggregateRoot, ValueObject, IDomainEvent, IRepository<T>, IUnitOfWork, soft delete/audit interfészek.

Mikor használd?
Mindig – ez a domain mag.


2) BaseSystem.BuildingBlocks.Data.EFCore

Mi ez?
EF Core integrációk: DbContextBase, BaseEntityConfiguration<T>, Specification → EF adapter, audit/soft-delete hookok, globális query filter minták.

Mikor használd?
Ha EF Core a perzisztencia.


3) BaseSystem.BuildingBlocks.CQRS.MediatR

Mi ez?
CQRS segédletek MediatR-hez: ICommand<T>, IQuery<T>, UnitOfWorkBehavior, ValidationBehavior, ITransactionalRequest marker.

Mikor használd?
Ha parancs/lekérdezés mintával és pipeline-okkal dolgozol.


4) BaseSystem.BuildingBlocks.Web.AspNetCore

Mi ez?
ASP.NET Core kiegészítők: ProblemDetailsErrorOr/hibák map, exception/validation middleware-ek, Minimal API/Controller helper metódusok.

Mikor használd?
Ha web API-t építesz és egységes hibakezelést szeretnél.


5) BaseSystem.BuildingBlocks.Messaging.MassTransit

Mi ez?
MassTransit bekötés minták: EF Outbox használat, publisher/consumer idempotencia tippek, alap konfigurációs segéd.

Mikor használd?
Ha megbízható (Outbox-os) integrációs eseményeket küldesz/fogadsz.


Tipikus függőségi irány

DDD.Abstractions
├─ Data.EFCore
├─ CQRS.MediatR
├─ Web.AspNetCore
└─ Messaging.MassTransit

A modulok mind a DDD.Abstractions-ra épülnek, egymástól függetlenül.


No packages depend on BaseSystem.BuildingBlocks.Messaging.MassTransit.

Version Downloads Last updated
1.0.0 3 10/27/2025