TDD-First

Technische Adapter

PostgreSQL, JDBC-Transaktionen, Outbox, Kafka/Redpanda und externe HTTP-Gateways.

Java 21PostgreSQLOutboxKafka/Redpanda

Abhängigkeitsrichtung

RESTeingehendDomain + Use CasesPorts bleiben stabilPostgreSQLKafkaProvider

Bausteine

JDBC Unit of Work

Eine Connection wird über verschachtelte Repository-Aufrufe geteilt. Commit und Rollback liegen außerhalb der Use Cases.

Snapshot Mapper

Aggregate werden über öffentliche Fachoperationen rekonstruiert; JPA-Annotationen oder technische Setter sind nicht nötig.

Transactional Outbox

Business Events werden in derselben Datenbanktransaktion persistiert und später at-least-once ausgeliefert.

HTTP Gateways

Providerantworten werden in fachliche Result Types übersetzt. Retry bleibt eine Application-Strategie.

java
public final class JdbcTransactionRunner implements
        InventoryTransactionRunner, PaymentTransactionRunner,
        BillingTransactionRunner, FulfillmentTransactionRunner {
    public <T> T execute(Supplier<T> work) {
        return context.transaction(work);
    }
}

Darstellung

Design
Text
Dichte
⌂ Cockpit