Als «design-patterns» getaggte Fragen

Ein Entwurfsmuster ist eine allgemeine wiederverwendbare Lösung für ein häufig auftretendes Problem beim Software-Entwurf. Verwenden Sie dieses Tag für Fragen, wenn Sie Probleme mit der Implementierung von Entwurfsmustern haben. Bitte verwenden Sie dieses Tag nicht bei Fragen zum Textmusterabgleich. Wenn Sie dieses Tag für umfangreiche Fragen zur Implementierung verwenden, markieren Sie die Codesprache, in der die Implementierung geschrieben ist.



10
Marker-Schnittstellen in Java?
Mir wurde beigebracht, dass die Marker-Schnittstelle in Java eine leere Schnittstelle ist und dem Compiler oder der JVM signalisiert, dass die Objekte der Klasse, die diese Schnittstelle implementieren, auf besondere Weise behandelt werden müssen, z. B. Serialisieren, Klonen usw. Aber in letzter Zeit habe ich gelernt, dass es eigentlich nichts …

10
Unterklasse einer Java Builder-Klasse
Geben Sie diesem Artikel von Dr. Dobbs und insbesondere dem Builder-Muster an, wie wir mit dem Fall der Unterklasse eines Builders umgehen. Eine naive Implementierung wäre eine gekürzte Version des Beispiels, in dem wir eine Unterklasse zum Hinzufügen einer GVO-Kennzeichnung erstellen möchten: public class NutritionFacts { private final int calories; …



14
Warum brauchen wir ein abstraktes Fabrikdesignmuster?
Der größte Teil der Definition lautet: Eine abstrakte Factory bietet eine Schnittstelle zum Erstellen von Familien verwandter Objekte, ohne deren konkrete Klassen anzugeben Was ist die Verwendung von Abstract Factory Pattern, um die Aufgabe durch Erstellen eines Objekts der konkreten Klasse selbst zu erreichen? Warum haben wir eine Factory-Methode, die …


7
Verwenden eines Strategiemusters und eines Befehlsmusters
Beide Entwurfsmuster kapseln einen Algorithmus und entkoppeln Implementierungsdetails von ihren aufrufenden Klassen. Der einzige Unterschied, den ich erkennen kann, besteht darin, dass das Strategiemuster Parameter für die Ausführung berücksichtigt, während das Befehlsmuster dies nicht tut. Es scheint mir, dass das Befehlsmuster erfordert, dass alle Informationen für die Ausführung verfügbar sind, …

4
Beispiel für ein Querschnittsthema
Was ist ein gutes Beispiel für eine cross-cutting concern? Das Beispiel für eine Krankenakte auf der Wikipedia- Seite scheint mir unvollständig zu sein. Warum würde die Protokollierung speziell in diesem Beispiel zu einer Codeduplizierung ( Streuung ) führen? (Neben einfachen Anrufen wie log("....")überall, was keine große Sache zu sein scheint). …



22
Entwurfsmuster für Engine rückgängig machen
Ich schreibe ein Strukturmodellierungswerkzeug für eine Bauingenieuranwendung. Ich habe eine riesige Modellklasse, die das gesamte Gebäude darstellt und Sammlungen von Knoten, Linienelementen, Lasten usw. enthält, die ebenfalls benutzerdefinierte Klassen sind. Ich habe bereits eine Undo-Engine codiert, die nach jeder Änderung am Modell eine Deep-Copy-Datei speichert. Jetzt begann ich zu überlegen, …

4
Vermeiden Sie if-Anweisungen in einer for-Schleife?
Ich habe eine Klasse namens Writer, die eine Funktion writeVectorwie folgt hat: void Drawer::writeVector(vector<T> vec, bool index=true) { for (unsigned int i = 0; i < vec.size(); i++) { if (index) { cout << i << "\t"; } cout << vec[i] << "\n"; } } Ich versuche, keinen doppelten Code …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.