Entwurfsmuster in Java: Problem im Code wählen, Muster als kurze, lauffähige Java-Datei erhalten

Entwurfsmuster in Java, alle 23 GoF-Muster: Situation wählen, Muster mit kurzer Java-21-Datei und echter Ausgabe.

Entwurfsmuster in Java: Problem im Code wählen, Muster als kurze, lauffähige Java-Datei erhalten
Beispiel für das Ergebnis dieser Seite

Kostenlos ausprobieren

So funktioniert es
  1. Geben Sie Ihre Angaben in der kostenlosen Version unten ein.
  2. Sie sehen Ihr Ergebnis sofort auf dieser Seite.
  3. Mehr nötig? Die Vollversion ergänzt, was unter „Das bekommen Sie“ steht.

Das bekommen Sie: Vollversion →

ReadyStack

Entwurfsmuster in Java · alle 23 GoF-Muster

  • Alle 23 Muster, jeweils eine kurze Datei. Jedes GoF-Muster ist eine Java-21-Datei mit 22–56 Zeilen (Median 32) und nutzt Records, Sealed Types und Pattern Matching, ohne Getter-Boilerplate.
  • Alle 34 Tests laufen auf Java 21 und Java 25 durch. Entpacken, mvn test ausführen: 23 JUnit-5-Testklassen, 0 Fehlschläge. Die Ausgabe unter jedem Beispiel ist die echte Ausgabe dieser Datei.
  • Einmal zahlen, kein Abo. Jedes Muster können Sie hier kostenlos lesen. Das vollständige Paket (Maven-Projekt, 30-seitiges PDF, 69 Übungen, KI-Regeln) ist ein einmaliger Kauf.

Vollständiges Paket $19 einmalig · Code und Erklärungen auf Englisch · Kostenloses oder vollständiges Paket?

Wann welches Entwurfsmuster einsetzen

Suchen Sie den Satz, der zu Ihrem Code passt, und klicken Sie dann auf das Muster.

Ihr Code hat diese SituationMusterNicht verwenden, wennZeilen
Erzeugungsmuster
Ein gemeinsames Objekt, und eine zweite Kopie wäre ein FehlerNicht für Dinge, die Sie in Tests austauschen müssen (eine Datenbank, eine Uhr): übergeben Sie diese stattdessen.22
Eine Basisklasse führt die Schritte aus, Unterklassen wählen das Objekt, das sie erzeugtNicht, wenn es nur eine Produktklasse gibt: Ein Konstruktor oder eine statische Erzeugungsmethode genügt.32
Mehrere Objekte müssen aus derselben Familie stammen (Region, Farbschema, Datenbank)Nicht bei nur einem Produkttyp oder wenn Familien nie gemischt werden: Es bringt nur zusätzliche Klassen ohne Nutzen.29
Viele optionale Felder, oder das Objekt muss gültig sein, bevor es jemand siehtNicht für einen Record mit 2-3 Pflichtfeldern: Der kanonische Konstruktor ist klarer.37
Neue Objekte entstehen als Kopie einer konfigurierten VorlageNicht, wenn Objekte günstig zu erzeugen sind; und Vorsicht vor flachen Kopien veränderlicher Felder.28
Strukturmuster
Eine Klasse, die Sie nicht ändern können, hat die falsche SchnittstelleNicht, wenn Sie beide Seiten besitzen: Ändern Sie lieber die Schnittstelle, statt einen Übersetzer hinzuzufügen.28
Zwei Dinge variieren unabhängig, und die Unterklassen vervielfachen sich (Art × Kanal)Nicht, wenn eine der beiden Dimensionen nur eine Variante hat.31
Ein Baum, in dem ein einzelnes Element und eine Gruppe gleich behandelt werden sollenNicht, wenn Ihre Daten flach sind oder Blätter und Gruppen sehr unterschiedliche Operationen brauchen.25
Optionales Verhalten zur Laufzeit in beliebiger Kombination hinzufügenNicht, wenn die Reihenfolge der Erweiterungen keine Rolle spielen darf: Die Wrapper wirken in Stapelreihenfolge.30
Aufrufer wiederholen dieselbe mehrstufige Abfolge in mehreren KlassenNicht als Ort, um die gesamte Logik zu verstecken: Eine Facade koordiniert nur und sollte nicht zur God-Class werden.46
Tausende Objekte wiederholen dieselben schweren DatenNicht, wenn es wenige Objekte gibt oder der gemeinsame Teil klein ist: Sie fügen eine Fabrik mit geringem Nutzen hinzu.32
Zugriff auf ein langsames, entferntes oder geschütztes Objekt steuern, ohne die Aufrufer zu ändernNicht, wenn die zusätzliche Schicht Fehler verbirgt, die Aufrufer behandeln müssen (Netzwerkfehler hinter einer „lokalen“ Schnittstelle).33
Verhaltensmuster
Eine Anfrage wandert durch eine Kette von Handlern, bis einer sie übernimmtNicht, wenn immer genau ein fester Handler zuständig ist: Ein direkter Aufruf ist klarer und leichter zu debuggen.26
Aktionen müssen eingereiht, protokolliert, wiederholt oder rückgängig gemacht werdenNicht für einmalige Aufrufe, die Sie nie einreihen oder rückgängig machen: Das ist unnötiger Aufwand.44
Nutzer schreiben Regeln oder Formeln in einer kleinen Sprache, die Sie auswerten müssenNicht für große oder sich schnell ändernde Sprachen: Verwenden Sie einen Parser-Generator (ANTLR) oder eine bestehende Engine für Ausdrücke.56
Elemente durchlaufen, ohne zu wissen, wie sie gespeichert sindNicht, wenn ein Stream oder eine vorhandene Collection Ihnen bereits liefert, was Sie brauchen.30
Viele Objekte sprechen miteinander und die Referenzen verheddern sichNicht, wenn der Mediator zu einem God-Object wächst, das die gesamte Logik besitzt.37
Zustand eines Objekts speichern und wiederherstellen, ohne seine Felder offenzulegenNicht, wenn Snapshots groß und häufig sind: Speichern Sie stattdessen Änderungen (Commands).36
Wenn sich ein Objekt ändert, müssen andere reagierenNicht, wenn die Reaktion in fester Reihenfolge oder in einer einzigen Transaktion erfolgen muss: Rufen Sie sie direkt auf.30
Das Verhalten hängt von einem Status ab, und jede Methode prüft ihn per switchNicht für zwei oder drei Zustände mit einfachen Regeln: Ein enum und ein switch genügen.42
Mehrere austauschbare Wege für eine Aufgabe, zur Laufzeit gewähltNicht, wenn es nur einen Algorithmus gibt, der sich nie ändert.24
Gleiche Schritte in gleicher Reihenfolge, nur einige Schritte unterscheiden sichNicht, wenn die Schritte frei variieren: Übergeben Sie stattdessen eine Strategy, statt Vererbung zu erzwingen.34
Neue Operationen auf einer festen Menge von Typen, ohne die Typen zu ändernNicht, wenn sich die Typen oft ändern: Jeder neue Typ erfordert Änderungen an jedem Visitor.52

Interviewfragen zu Entwurfsmustern (69, mit kurzen Antworten)

Drei pro Muster. Sprechen Sie die Antwort zuerst laut aus und öffnen Sie sie dann.

Singleton 3 Fragen
Warum ist ein enum das sicherste Singleton in Java?
Die JVM erzeugt die Konstante einmal und threadsicher; Serialisierung und Reflection von enum-Werten können keine zweite Instanz erzeugen.
Was ist falsch an einer verzögerten Initialisierung, die `instance == null` ohne Sperre prüft?
Zwei Threads können beide null sehen und zwei Instanzen bauen; Sie brauchen eine Holder-Klasse, ein enum oder Double-Checked Locking auf einem volatile-Feld.
Warum gilt das Singleton als Anti-Pattern?
Es ist versteckter globaler Zustand: Aufrufer hängen davon ab, ohne es zu sagen, und Tests können es nicht ersetzen. Übergeben Sie das Objekt besser (Dependency Injection).
Factory Method 3 Fragen
Factory Method vs. statische Erzeugungsmethode wie List.of()?
Die Factory Method nach GoF ist eine überschreibbare Instanzmethode, die Unterklassen anpassen; eine statische Erzeugungsmethode ist eine feste Methode, die den Konstruktor verbirgt.
Factory Method vs. Abstract Factory?
Factory Method erzeugt ein Produkt über Vererbung; Abstract Factory ist ein Objekt, das eine ganze Familie zusammengehöriger Produkte erzeugt.
Welches SOLID-Prinzip unterstützt es?
Open/Closed: Ein neuer Kanal ist eine neue Unterklasse, und der bestehende notify()-Code wird nicht geändert.
Abstract Factory 3 Fragen
Was ist die Schwachstelle von Abstract Factory?
Ein neuer Produkttyp bedeutet, eine Methode zur Schnittstelle und zu jeder konkreten Fabrik hinzuzufügen.
Wie wählen Sie die zu verwendende konkrete Fabrik?
Einmal beim Start (Konfiguration oder Dependency Injection); der übrige Code sieht nur die Schnittstelle.
Lässt sich eine Abstract Factory aus Factory Methods aufbauen?
Ja: Jede create-Methode der Fabrik ist oft eine Factory Method, die Unterklassen implementieren.
Builder 3 Fragen
Warum nicht einfach Setter verwenden?
Setter machen ein halb gebautes, veränderliches Objekt sichtbar; ein Builder gibt das Objekt erst heraus, nachdem build() es geprüft hat.
Wo validieren Sie im Builder?
In build() für Regeln über mehrere Felder (eine Bestellung braucht einen Artikel) und im Compact Constructor des Records für Regeln, die immer gelten.
Builder vs. Records mit `with`-Methoden?
Records eignen sich gut für kleine unveränderliche Werte; ein Builder gewinnt weiterhin, wenn es viele optionale Teile gibt oder ein schrittweiser Aufbau nötig ist.
Prototype 3 Fragen
Flache Kopie vs. tiefe Kopie?
Eine flache Kopie teilt die inneren Objekte (dieselbe Liste); eine tiefe Kopie kopiert sie mit, sodass Änderungen an der Kopie nie das Original erreichen.
Warum meiden viele Teams Cloneable?
clone() umgeht Konstruktoren, gibt Object zurück, wirft eine geprüfte Ausnahme und kopiert standardmäßig flach; eine explizite copy()-Methode oder ein Kopierkonstruktor ist klarer.
Was ist ein Prototypen-Register?
Eine Map mit benannten, fertigen Objekten (Vorlagen), die Aufrufer kopieren, statt sie von null aufzubauen.
Adapter 3 Fragen
Adapter vs. Facade?
Ein Adapter passt eine Schnittstelle an eine bereits bestehende an; eine Facade legt eine neue, einfachere Schnittstelle über viele Klassen.
Objekt-Adapter vs. Klassen-Adapter?
Ein Objekt-Adapter hält das alte Objekt (Komposition, der Java-Standard); ein Klassen-Adapter erweitert es, was Java nur für eine einzige Klasse erlaubt.
Adapter vs. Decorator?
Ein Adapter ändert die Schnittstelle und behält das Verhalten; ein Decorator behält die Schnittstelle und fügt Verhalten hinzu.
Bridge 3 Fragen
Wie viele Klassen brauchen Sie für M Arten und N Kanäle?
Mit Brücke M + N; mit Unterklassen für jede Kombination M x N.
Brücke oder Adapter?
Die Brücke wird von Anfang an so entworfen, dass sich zwei Seiten getrennt weiterentwickeln können; ein Adapter kommt später dazu, damit vorhandene Dinge passen.
Brücke oder Strategie?
Der Code sieht ähnlich aus (ein Objekt hält eine Schnittstelle); die Brücke teilt eine Struktur langfristig in zwei Teile, die Strategie tauscht einen Algorithmus aus.
Composite 3 Fragen
Wohin gehören die Methoden zum Verwalten der Kinder (add/remove)?
Entweder nur auf der Gruppe (typsicher) oder auf dem gemeinsamen Interface (einheitlich, aber Blätter müssen das verweigern); nennen Sie Ihre Abwägung.
Wie hilft ein sealed Interface beim Kompositum?
Der Compiler kennt nur die Arten Product und Bundle, daher wird ein switch darüber auf Vollständigkeit geprüft.
Nennen Sie ein Risiko bei tiefen Kompositen.
Rekursionstiefe und Zyklen: Ein Bundle, das sich selbst enthält, läuft endlos, wenn Sie es nicht absichern.
Decorator 3 Fragen
Dekorierer oder Vererbung?
Vererbung legt die Erweiterungen zur Kompilierzeit fest; Dekorierer kombinieren sie zur Laufzeit ohne neue Klassen.
Dekorierer oder Stellvertreter?
Gleiche Struktur: Ein Dekorierer fügt Verhalten hinzu, das der Aufrufer angefordert hat; ein Stellvertreter kontrolliert den Zugriff (Cache, verzögertes Laden, Sicherheit) auf dasselbe Objekt.
Spielt die Reihenfolge der Dekorierer eine Rolle?
Ja. Bei einem Artikel mit 1000 Cent in diesem Kit: Gutschein, dann Express = 1899; Express, dann Gutschein = 1800 (beide getestet).
Facade 3 Fragen
Hält eine Fassade Aufrufer davon ab, die Subsysteme zu nutzen?
Nein. Sie bietet einen einfachen Weg; fortgeschrittene Aufrufer dürfen die Teile trotzdem direkt nutzen.
Fassade oder Vermittler?
Die Fassade ist einseitig: Aufrufer rufen sie auf, und sie ruft die Teile auf. Der Vermittler ist zweiseitig: Die Teile sprechen untereinander über ihn.
Welchen Fehler verhindert die Fassade in diesem Kit?
Dass eine abgelehnte Zahlung den reservierten Bestand freigibt: Der Test prüft, ob nach der Ablehnung noch 1 Lampe übrig ist.
Flyweight 3 Fragen
Was muss für den gemeinsam genutzten (intrinsischen) Teil gelten?
Er muss unveränderlich sein, denn jeder Nutzer sieht dasselbe Objekt.
Warum kann `Integer a = 127, b = 127; a == b` wahr sein, für 128 aber falsch?
Integer.valueOf speichert -128..127 zwischen (ein Fliegengewicht-Pool), daher ist 127 dasselbe Objekt; 128 ist ein neues. Vergleichen Sie mit equals().
Fliegengewicht oder Singleton?
Ein Singleton ist eine einzige Instanz einer Klasse; ein Fliegengewicht ist ein Pool gemeinsam genutzter Instanzen, eine pro verschiedenem Wert.
Proxy 3 Fragen
Nennen Sie vier Arten von Stellvertretern.
Virtuell (verzögerte Erzeugung), entfernt (steht für ein Objekt an einem anderen Ort), Schutz (Zugriffsprüfungen), Cache / intelligente Referenz.
Wie nutzt Springs @Transactional dieses Muster?
Spring umhüllt die Bean mit einem Stellvertreter, der die Transaktion um den echten Methodenaufruf herum öffnet und mit Commit abschließt.
Warum umgeht ein Selbstaufruf @Transactional?
this.method() ruft das echte Objekt direkt auf, nicht den Stellvertreter; daher läuft die zusätzliche Arbeit des Stellvertreters nie.
Chain of Responsibility 3 Fragen
Was passiert, wenn kein Handler die Anfrage übernimmt?
Sie müssen sich entscheiden: für einen Standardwert (hier 'board review'), eine Ausnahme oder ein leeres Optional. Niemals stillschweigend fehlschlagen.
Kette oder Dekorierer?
Ein Dekorierer ruft immer das umschlossene Objekt auf; ein Handler in einer Kette darf die Anfrage stoppen und nicht weiterreichen.
Wie machen Java 8+ Ketten kürzer?
Handler können Lambdas sein, die ein Optional zurückgeben, verknüpft über eine Default-Methode wie then(), wie in diesem Kit.
Command 3 Fragen
Wie realisieren Sie eine Rückgängig-Funktion mit Kommando?
Legen Sie jeden ausgeführten Befehl auf einen Stapel. Rückgängig nimmt den letzten Befehl herunter und ruft seine undo()-Methode auf, die wiederherstellt, was execute() geändert hat.
Kommando oder Strategie?
Eine Strategie legt FEST, WIE eine Aufgabe erledigt wird (zum Beispiel eine Sortierreihenfolge); ein Kommando ist eine Aufforderung, etwas zu tun, oft mit eigenen Daten und Rückgängig-Möglichkeit.
Warum speichert Leeren den alten Text?
Leeren vernichtet Information; Rückgängig braucht den Wert „vorher“, daher behält das Kommando ihn (ein kleines Memento).
Interpreter 3 Fragen
Was sind Terminal- und Nichtterminal-Ausdrücke?
Terminale sind Blätter (Zahlen, Variablennamen); Nichtterminale kombinieren andere Ausdrücke (Add, Mul).
Wie verkürzt Java 21 einen Interpreter?
Ein sealed Interface aus Records für die Grammatik und ein switch mit Record-Patterns für eval; der Compiler prüft, dass jeder Fall behandelt wird.
Wo steckt die Operatorpriorität?
In der Grammatik des Parsers: Produkt wird innerhalb von Summe geparst, daher wird '2 + 3 * 4' zu Add(2, Mul(3, 4)) = 14.
Iterator 3 Fragen
Was ist ein Fail-Fast-Iterator?
Der Iterator von ArrayList wirft eine ConcurrentModificationException, wenn die Liste während der Iteration geändert wird, außer über den Iterator selbst.
Was muss next() am Ende tun?
Eine NoSuchElementException werfen, wie es der Iterator-Vertrag verlangt (in diesem Kit getestet).
Interne oder externe Iteration?
Extern: Der Aufrufer holt Elemente mit next() ab. Intern: Die Collection schiebt die Elemente an Ihr Lambda (forEach, Streams).
Mediator 3 Fragen
Vermittler oder Beobachter?
Der Beobachter verteilt Änderungen eines Subjekts an Abonnenten; der Vermittler zentralisiert den wechselseitigen Austausch zwischen gleichgestellten Partnern.
Hauptrisiko eines Vermittlers?
Die gesamte Koordinationslogik wandert in eine Klasse, die riesig werden kann; teilen Sie sie nach Anwendungsfall auf.
Nennen Sie einen Vermittler aus der realen Welt.
Ein Tower am Flughafen: Flugzeuge sprechen mit dem Tower, nicht untereinander.
Memento 3 Fragen
Wer sind die drei Rollen?
Originator (der Warenkorb, erstellt und liest Schnappschüsse), Memento (der Schnappschuss), Caretaker (die Historie, die sie nur speichert).
Warum muss der Schnappschuss die Liste kopieren?
Sonst würden spätere Änderungen am Warenkorb auch den „gespeicherten“ Zustand ändern; List.copyOf macht die Kopie unveränderlich (getestet).
Memento oder Kommando für Rückgängig?
Memento speichert ganze Zustände (einfach, aber mehr Speicher); Kommando speichert, wie sich jede Änderung rückgängig machen lässt (weniger Speicher, mehr Code).
Observer 3 Fragen
Welches Speicherleck verursacht der Beobachter?
Das Subjekt hält starke Referenzen auf die Listener; melden sie sich nie ab, kann der Garbage Collector sie nie freigeben (vergessene Listener).
Push- oder Pull-Modell?
Push schickt die neuen Daten mit dem Ereignis (hier den Status); Pull meldet nur „geändert“, und die Listener fragen beim Subjekt nach.
Warum wurde java.util.Observable als veraltet markiert?
Es ist eine Klasse, kein Interface (man muss sie erweitern), nicht serialisierbar, und seine Ereignisse sind nur lose definiert.
State 3 Fragen
Zustand oder Strategie?
Gleiche Struktur; beim Zustand lösen die Zustände einander ab, während sich das Objekt weiterentwickelt; bei der Strategie wählt der Aufrufer einen Algorithmus.
Wer bestimmt den nächsten Zustand?
Hier gibt jeder Zustand den nächsten zurück (New.pay() gibt Paid zurück). Die andere Option ist, dass der Kontext entscheidet; sagen Sie, welche Sie gewählt haben.
Warum ein sealed Interface für Zustände?
Der Compiler kennt jeden Zustand, daher wird ein switch darüber geprüft, und niemand kann außerhalb der Datei einen Zustand ergänzen.
Strategy 3 Fragen
Wie verändern Lambdas die Strategie?
Eine Strategie ist oft ein funktionales Interface, daher ist jeder Algorithmus ein einzeiliges Lambda statt einer Klasse.
Strategie oder Schablonenmethode?
Die Strategie tauscht einen ganzen Algorithmus zur Laufzeit per Komposition aus; die Schablonenmethode legt die Schritte fest und lässt Unterklassen einige davon füllen.
Woher kommen die Strategien zur Laufzeit?
Aus einer Map nach Namen (wie in diesem Kit), aus der Konfiguration oder per Dependency Injection.
Template Method 3 Fragen
Warum die Schablonenmethode als final markieren?
Damit keine Unterklasse die Reihenfolge der Schritte ändern kann; sie darf nur die vorgegebenen Schritte füllen.
Was ist ein Hook?
Ein optionaler Schritt mit Standardverhalten (footer() gibt hier "" zurück), den Unterklassen überschreiben dürfen.
Welches Prinzip zeigt die Schablonenmethode?
Das Hollywood-Prinzip: Rufen Sie uns nicht an, wir rufen Sie an; die Basisklasse ruft die Schritte der Unterklasse auf.
Visitor 3 Fragen
Was ist Double Dispatch?
Die ausgeführte Methode hängt von zwei Laufzeittypen ab: item.accept(v) wählt den Typ des Artikels, dann wählt v.visitBook(this) den Besucher.
Was ändert Java 21 für den Besucher?
Mit sealed Typen und Pattern Matching wird ein switch über den Artikeltyp auf Vollständigkeit geprüft; das ersetzt oft die Besucher-Klassen.
Wann passt der Besucher schlecht?
Wenn Sie häufiger Typen hinzufügen als Operationen: Jeder neue Typ erzwingt eine Änderung in jedem Besucher.

Kostenlos hier, oder das komplette Kit mitnehmen

Kostenlos auf dieser Seite

  • Alle 23 Muster: Problem, Idee, wann man sie nicht einsetzt und welchen Code Smell sie ersetzen
  • Die vollständige Java-Datei jedes Musters und ihre echte Ausgabe
  • Übersicht, wann welches Muster passt, und 69 Interviewfragen mit Antworten

Fragen

Welche Java-Version brauche ich?

Java 21 oder neuer. Jede Datei wurde mit -Xlint:all -Werror kompiliert und auf JDK 21 und JDK 25 mit derselben Ausgabe ausgeführt. run-all.sh zeigt Ihnen an, wenn Ihr Java älter ist.

Brauche ich Maven?

Nein. run-all.sh / run-all.cmd kompilieren mit javac und führen alle 23 Beispiele aus; jede einzelne Datei läuft mit java File.java. Maven ist nur für die JUnit-Tests nötig (mvn test).

Welche IDE?

Jede: Öffnen Sie den Ordner als Maven-Projekt in IntelliJ IDEA, Eclipse oder VS Code; jedes Beispiel hat eine main-Methode.

Darf ich den Code bei der Arbeit nutzen?

Ja, kopieren Sie ihn in Ihre eigenen Projekte. Bitte verkaufen Sie das Kit selbst nicht weiter.

Weitere Werkzeuge für Entwickler und Studierende

Alle Tools ansehen

Mir dieses Ergebnis per E-Mail senden
Eine Kopie von dem, was Sie oben sehen, in Ihrem Postfach – das Tool bleibt kostenlos, hier ist nichts gesperrt.

Mehr Tools für dieselbe Arbeit

Entwurfsmuster in Java: Problem im Code wählen, Muster als kurze, lauffähige Java-Datei erhaltenAI Video Clipper for Shorts, No CreditsKI-Videoclipper für Shorts ohne Credits: die besten 9:16-Clips nach Rang, nichts wird hochgeladenKostenlose VersionEntwurfsmuster in Java: Problem im Code wählen, Muster als kurze, lauffähige Java-Datei erhaltenLongday Code ThemeJede Farbe besteht die Prüfung auf 3 OberflächenKostenlose Version
Auch diese Tools nutzen Menschen wie Sie
Alles für Entwickler und Compliance-Teams → · ReadyStack Pass — alle Tools in einem Abo · Alle Tools →

Fragen und Antworten

Was macht diese Seite?

Entwurfsmuster in Java, alle 23 GoF-Muster: Situation wählen, Muster mit kurzer Java-21-Datei und echter Ausgabe.

Ist das kostenlos?

Ja. Die kostenlose Version auf dieser Seite funktioniert ohne Konto.

Wie benutze ich das?

1. Geben Sie Ihre Angaben in der kostenlosen Version unten ein. 2. Sie sehen Ihr Ergebnis sofort auf dieser Seite. 3. Mehr nötig? Die Vollversion ergänzt, was unter „Das bekommen Sie“ steht.

Frage zu diesem Werkzeug

Eine Frage, beantwortet von der Person, die es gebaut hat. E-Mail nur, wenn Sie die Antwort zugeschickt möchten.

Für Teams und Firmen: Für eine Rechnung mit Ihren Firmendaten, ein Angebot oder mehrere Lizenzen schreiben Sie an support@getreadystack.com.

Mehr zu Weitere Angebote Alle ansehen →