CloudCastle Clock

🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano

ScaledClock — Uhr mit Zeitskalierung

Zweck

Dekorator: Die virtuelle Zeit läuft schneller (scale > 1) oder langsamer (scale < 1) als die reale Zeit ab dem Zeitpunkt der Erstellung.

Wofür und wie zu verwenden

Simulationen und Demos: „ein Tag pro Minute", beschleunigte Prüfung von Szenarien mit Zeitplänen.

Beispiel

$fast = new ScaledClock(SystemClock::utc(), 60.0);  // a minute becomes an hour
sleep(1);
$fast->now();   // about a minute later in virtual time

Anti-Patterns

Ein nicht positiver Faktor wird mit einer Ausnahme abgelehnt; um die Zeit anzuhalten, verwenden Sie FrozenClock.

Lebenszyklus

flowchart LR
    A[Inner clock] -->|delta| B[ScaledClock]
    B -->|delta x scale| C[Virtual moment]
    C --> D[Consumer]

Funktionsvergleich mit Alternativen

Aspekt🏆 CloudCastlesymfonycarbonlcobuccibesteergebnis
Beschleunigen / Verlangsamen der Zeit✅❌❌❌❌❌
Faktor per Ausnahme validiert✅❌❌❌❌❌
Bezugspunkt bei Erstellung fixiert✅❌❌❌❌❌
Komposition mit Mocks für Tests✅❌❌❌❌❌
Gesamt🏆 400000

← Zur Funktionsliste


🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano