Als «design-patterns» getaggte Fragen

Ein Entwurfsmuster ist eine allgemeine wiederverwendbare Lösung für ein häufig auftretendes Problem beim Software-Entwurf.

2
Wie verwende ich das Decorator-Muster, um großen Objekten kleine Funktionen hinzuzufügen?
Diese Frage betrifft die Verwendung des Decorator-Musters, um Objekten großer Klassen wenig Funktionalität hinzuzufügen. Beachten Sie nach dem klassischen Decorator-Muster die folgende Klassenstruktur: Stellen Sie sich zum Beispiel vor, dies passiert innerhalb eines Spiels. Instanzen von ConcreteCharacterDecoratorsollen dem ConcreteCharacter"Wrapping" wenig Funktionalität hinzufügen . Gibt beispielsweise methodA()einen intWert zurück, der den …

2
Best Practice in Bezug auf anonyme Klassen in UI-Anwendungen
Wenn Sie mit Java-Programmen auf Benutzeroberflächenbasis arbeiten, können Sie bestimmten Aktionen (z. B. einem Klick auf eine Schaltfläche) Verhalten hinzufügen, indem Sie anonyme Klassen verwenden. Im folgenden Beispiel ist das GUI-Framework SWT, ich habe jedoch dieselben Probleme mit Swing- oder Android-UI-Komponenten. Nämlich die Strukturierung meiner Programme. MenuItem sampleMenuItem = new …

4
Skaliert das abstrakte Fabrikmuster?
Ich versuche immer noch, Designmuster hier zu verstehen. Nachdem ich das abstrakte Fabrikmuster gelernt hatte, stellte ich fest, dass dieses Muster nicht gut skaliert werden kann. Schauen Sie sich das Uml-Diagramm des abstrakten Fabrikmusters an Wenn ich ein neues 'AbstractProductC' erstellen muss, muss ich in 'AbstractFactory' eine abstrakte Methode 'CreateProductC' …


4
Wie halten wir abhängige Datenstrukturen auf dem neuesten Stand?
Angenommen, Sie haben einen Analysebaum, einen abstrakten Syntaxbaum und ein Kontrollflussdiagramm, die jeweils logisch von dem vorherigen abgeleitet sind. Im Prinzip ist es einfach, jedes Diagramm anhand des Analysebaums zu erstellen. Wie können wir jedoch die Komplexität der Aktualisierung der Diagramme verwalten, wenn der Analysebaum geändert wird? Wir wissen genau, …


3
Refactoring einer vorhandenen abstrakten Klasse und ihrer Parameter
Ich habe eine, abstract class Adie eine abstrakte Methode deklariert doStuff. Derzeit gibt es viele Klassen, die von erben Aund diese implementieren doStuff. Die Instanzen der Klasse werden zur Laufzeit über AFactorybasierend auf Benutzereingaben initialisiert . Ursprünglich hatten alle Klassen den gleichen Parameter (die Benutzereingabe). Aber jetzt habe ich einen …

4
Akzeptable Platzierung der Zusammensetzungswurzel unter Verwendung von Abhängigkeitsinjektion (DI) und Inversion von Kontrollbehältern (IoC)
Ich habe in mehreren Quellen gelesen, darunter in Mark Seemanns 'Ploeh'-Blog, wie die richtige Platzierung des Kompositionsstamms eines IoC-Containers so nah wie möglich am Einstiegspunkt einer Anwendung liegt. In der .NET-Welt werden diese Anwendungen häufig als Webprojekte, WPF-Projekte, Konsolenanwendungen und Dinge mit einer typischen Benutzeroberfläche (sprich: keine Bibliotheksprojekte) angesehen. Verstößt …

3
Besucherstabilität vs. Flexibilität
Ich arbeite an einer GUI-Anwendung, die eine Konfigurationsdatei generiert. Ich habe eine Klassenhierarchie für das Konfigurationsmodell und verwende einen Objektbaum dieser Hierarchie in verschiedenen Kontexten. Derzeit verwende ich das Besuchermuster, um zu vermeiden, dass meine Modellklassen mit kontextspezifischem Code verschmutzt werden. interface IConfigurationElement { void acceptVisitor(IConfigurationElementVisitor visitor); } In einer …


2
Ereignis-Listener-Muster in der API - Was sollte das zweimalige Hinzufügen desselben Listeners bewirken?
Beim Entwerfen einer API, die eine Schnittstelle zum Abhören von Ereignissen bereitstellt, gibt es anscheinend zwei widersprüchliche Methoden zum Behandeln von Aufrufen zum Hinzufügen / Entfernen von Listenern: Bei mehreren Aufrufen von addListener wird nur ein einziger Listener hinzugefügt (wie beim Hinzufügen zu einem Set). kann mit einem einzigen Aufruf …

1
Domänenmodell und Abfrage
Ich bin neu bei DDD und habe nur in Transaction-Script-Apps mit einem anämischen Modell oder nur in Big Balls of Mud gearbeitet. Bitte verzeihen Sie mir jede Terminologie, die ich missbrauche. Ich versuche, die richtige Trennung zwischen dem Domänenmodell und dem Repository zu verstehen. Was ist der richtige Weg, um …

2
Erstellen einer Predicate Builder-Erweiterungsmethode
Ich habe ein Kendo UI-Raster, das derzeit das Filtern nach mehreren Spalten zulässt. Ich frage mich, ob es einen alternativen Ansatz gibt, um die äußere switch-Anweisung zu entfernen. Grundsätzlich möchte ich in der Lage sein, eine Erweiterungsmethode zu erstellen, damit ich nach a filtern kann, IQueryable<T> und ich möchte die …



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.