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 …
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 …
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' …
Angenommen, Sie haben einen Webdienst, der Geschäftslogik über eine Datenquelle hinzufügt. So sieht jede API dieses Dienstes aus: Geben Sie mir bei einer Reihe von Einschränkungen die Elemente aus der Datenquelle, die diese Einschränkungen erfüllen. Sie können sagen, dass Sie von der API eine "Ansicht" der Datenquelle zurückerhalten. Mit der …
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, …
Ich arbeite seit einiger Zeit für ein Beratungsunternehmen mit Kunden unterschiedlicher Größe und habe Webanwendungen gesehen, deren Komplexität von wirklich einfach bis sehr einfach reicht: MVC Serviceschicht EF DB Zu wirklich komplex: MVC UoW DI / IoC Repository Bedienung UI-Tests Unit Tests Integrationstests An beiden Enden des Spektrums sind die …
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 …
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 …
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 …
Ich habe einen erweiterbaren C ++ - Wrapper um eine sehr schwer zu verwendende, aber auch sehr nützliche C-Bibliothek geschrieben. Das Ziel ist es, c ++ für die Zuweisung des Objekts, die Offenlegung seiner Eigenschaften, die Freigabe des Objekts, das Kopieren der Semantik usw. zu nutzen. Das Problem ist folgendes: …
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 …
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 …
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 …
Ist es richtig, zwei Repositorys in einem Dienst zu haben, und handelt es sich um eine Anwendung oder einen Domänendienst? Angenommen, ich habe ein Passagierobjekt, das ein Passport-Objekt (Regierungs-ID) enthalten soll. Ich bekomme Passagier von PassengerRepository. PassengerRepository erstellt eine Anforderung an den Server und ruft Daten (json) ab, als empfangene …
Der Kontext: Wir arbeiten an einer Multithread-Anwendung (Linux-C), die einem Pipeline-Modell folgt. Jedes Modul verfügt über einen privaten Thread und gekapselte Objekte, die Daten verarbeiten. und jede Stufe hat eine Standardform des Datenaustauschs mit der nächsten Einheit. Die Anwendung ist frei von Speicherverlusten und ist threadsicher, indem Sperren an dem …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.