← Code-Übersicht

InvoiceStatePort.php

Pfad: src/Domain/Rechnung/InvoiceStatePort.php

Ext: php

Größe: 632 Bytes

Geändert: 2026-07-16 16:54:17+02

<?php
declare(strict_types=1);

namespace Demo\Domain\Rechnung;

/**
 * Port fuer korruptionssicheren Rechnungszustand.
 */
interface InvoiceStatePort
{
    /** Laedt den aktuellen Zustand oder wirft bei Korruption. */
    public function load(): InvoiceState;

    /** Speichert den Zustand atomar. */
    public function save(InvoiceState $state): void;

    /**
     * Fuehrt den kompletten Read-Modify-Write-Zyklus exklusiv aus.
     *
     * @template T
     * @param callable():T $operation Kritischer Ablauf.
     * @return T Ergebnis des Ablaufs.
     */
    public function withExclusiveLock(callable $operation): mixed;
}

Frühere Versionen

Version Zeitpunkt Operation
21 2026-07-16 19:01:40.813137+02 UPDATE