Als «design-patterns» getaggte Fragen

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


5
Offen Geschlossenes Prinzip in Entwurfsmustern
Ich bin etwas verwirrt darüber, wie das Open-Closed-Prinzip im wirklichen Leben angewendet werden kann. Die Anforderungen an geschäftliche Änderungen ändern sich im Laufe der Zeit. Nach dem Open-Closed-Prinzip sollten Sie die Klasse erweitern, anstatt die vorhandene Klasse zu ändern. Jedes Mal, wenn ich eine Klasse erweitere, scheint es mir nicht …

2
DDD: Erstellen wiederverwendbarer Module und Diensttypunterscheidungen (Domäne, Infrastruktur, Anwendung)
Nachdem ich "Implementieren von domänengesteuertem Design von Vaughn Vernon" gelesen habe, habe ich beschlossen, meinen Code für eine bessere Wiederverwendbarkeit umzugestalten, indem ich das, was ich für Kerndomänenkonzepte halte, in separate Module isoliere. Jedes Modul enthält einen eigenen Satz unterschiedlicher Architekturebenen, darunter die Domänen-, Infrastruktur- und die Anwendungs- / Präsentationsschicht …

7
Eine Eigenschaft, die sowohl ein einzelnes Datum als auch einen Datumsbereich darstellen kann: Wie kann man das richtig modellieren?
Ich arbeite in einem System, das auf zwei Arten eine "Versandschätzung" darstellen kann: Ein bestimmtes Datum: Der Artikel wird garantiert zu diesem Datum versendet Ein Tagesintervall: Der Artikel wird ab heute "X bis Y" Tage versendet Die Informationen zum Modell sind semantisch identisch, es handelt sich um "die Versandschätzung". Wenn …

3
Refactoring einer Client-API, um doppelten Code und unklare Übergabe von Parametern zu vermeiden
Ich muss eine API entwickeln. Die Funktionen der API sind Anforderungen, die den von einem Server bereitgestellten Dienst aufrufen. Anfangs funktionierte die API folgendermaßen: class Server: def firstRequest(self, arg1, arg2): # block of code A async = Async() async.callFirstRequest(arg1, arg2) # block of code B def secondRequest(self, argA, argB, argC): …

7
Entwurfsmuster für "Operation an Objekt zulässig, nur wenn sich das Objekt in einem bestimmten Zustand befindet"
Zum Beispiel: Es können nur Bewerbungen aktualisiert werden, die noch nicht geprüft oder genehmigt wurden. Mit anderen Worten, eine Person kann ihr Job-Appliance-Formular aktualisieren, bis die Personalabteilung mit der Überprüfung beginnt oder es bereits akzeptiert wurde. Eine Bewerbung kann also in 4 Zuständen erfolgen: APPLIED (Ausgangszustand), IN_REVIEW, APPROVED, DECLINED Wie …

1
Welcher Ansatz in DataMapper Pattern ist für mehrere oder verknüpfte Tabellen besser?
Normalerweise ordnet ein Data Mapper Daten einer bestimmten Tabelle zu. (Theoretisch sollte es zwischen Speicher und einem Domänenobjekt kommunizieren, aber in meinem Fall ist dies nicht möglich, sodass ich direkt mit Tabellen kommuniziere.) Table1Mappper> Table1 Wenn für diese Tabelle jedoch Daten aus einer anderen Tabelle verknüpft werden müssen, erweitern Sie …


2
Optionale Funktionen: Standardmethode oder separate Schnittstelle
Spezielle Schnittstellen scheinen eine gute Möglichkeit zu sein, die optionalen Funktionen in einer domänenspezifischen Typhierarchie bereitzustellen. Sie behindern jedoch die Verwendung von Dekorations- und Verbundmustern, was auch in dieser Art von Hierarchie üblich ist. Insbesondere möchte wahrscheinlich niemand einen Dekorator / Verbund für jede mögliche Kombination dieser Schnittstellen implementieren. Daher …


3
Entwurfsmuster - DLL pro Strategie
Normalerweise habe ich meine Anwendung folgendermaßen gestaltet: Eine DLL mit Schnittstellen für ein gewünschtes Subsystem. Zum Beispiel Company.Framework.Persistence.dll. Eine neue DLL pro Strategie (oder Implementierung ) des Subsystems. Zum Beispiel: Company.Framework.Persistence.MSSQL.dll Company.Framework.Persistence.MySQL.dll Company.Framework.Persistence.FileSystem.dll Dies führt zu einer sehr großen Lösung mit vielen Projekten, bietet dem Verbraucher jedoch die Möglichkeit, die …

2
Wie viel Logik kann in einen Befehl eingegeben werden? Oder anders: Für welche Art von Logik ist das Befehlsmuster?
Ich benutze das Befehlsmuster schon seit einiger Zeit, bin mir aber nie sicher, wie viel Logik ich tatsächlich in die ExecuteMethode einbauen kann . Meine aktuelle Implementierung des Befehlsmusters sieht folgendermaßen aus: public abstract class Command { public static event EventHandler Completed = delegate { }; public bool Success { …

1
Null-Objektmuster und Eingabevalidierung - echte Implementierung kopieren oder alles stillschweigend akzeptieren?
Ich habe ein WifiComponentin meinem Camerain meiner Client - Anwendung. Es ist für die Verwaltung der Wifi-bezogenen Funktionen der Kamera verantwortlich. Die Kamera repräsentiert eine reale Kamera. Dies WifiComponentkann entweder aktiviert werden (in diesem Fall kann ich Dinge damit tun, z. B. den Verbindungsstatus überprüfen und scannen) oder deaktiviert werden …

2
Entwerfen einer API mit Zugriffstoken, Wie werden GET-Anforderungen behandelt?
Ich erstelle eine API, die Zugriffstoken verwendet, damit ich die Nutzung zwischen verschiedenen Abteilungen und für die Zugriffskontrolle verfolgen kann. Mein Plan ist es, die HTTP-Verben angemessen zu verwenden - GETInformationen abzurufen, POSThinzuzufügen, zu DELETElöschen usw. Meine Frage ist, wie ich mit Zugriffstoken bei den GET-Aufrufen umgehen soll. Option eins: …

1
Ist dies ein gültiges Entwurfsmuster für eine Haskell-Hauptfunktion?
Nachdem ich mehrere Haskell-Anwendungen entwickelt hatte, habe ich festgestellt, dass ich unreinen Code und fehlerhafte ( Teil- ) Funktionen rigoros von ihren reinen und vollständigen Gegenstücken getrennt habe. Diese Bemühungen haben die mit den Anwendungen verbundenen Wartungskosten spürbar reduziert. Ich habe mich im Laufe der Zeit auf dieselbe hochrangige mainStruktur …

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.