Als «design-patterns» getaggte Fragen

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

5
Modifiziertes Strategie-Entwurfsmuster
Ich habe vor kurzem angefangen, mich mit Designmustern zu befassen, und eine Sache, die ich codiere, würde perfekt zum Strategiemuster passen, abgesehen von einem kleinen Unterschied. Im Wesentlichen benötigen einige (aber nicht alle) meiner Algorithmen einen oder zwei zusätzliche Parameter, die an sie übergeben werden. Also muss ich entweder Übergeben …



4
Wie verpacke ich einen Dienst, damit er einfacher ist?
Wir sind von einem Drittanbieter abhängig, der eine gigantische Schnittstelle bereitstellt, für die wir nur drei Methoden benötigen. Außerdem ändert sich die Benutzeroberfläche häufig ... Ich habe beschlossen, die Schnittstelle in eine Klasse in unserem Projekt einzuschließen und nur die Methoden bereitzustellen, die wir benötigen. Ich bin mir jedoch nicht …

2
Anwendungsdienstschicht, die Datenbankfunktionen aufruft. Schlechte Architektur?
Szenario: Stapel: Java, Frühling, Ruhezustand. Modell: Client-Server-Anwendung. Muster: Model-View-Controller (MVC). Die Service Layer-Klassen weisen drei Verhaltensweisen auf: Einige Dienste haben die Geschäftsregel innerhalb der Methoden und delegieren die Persistenz an die Anwendung. Mögen: EntityManager.save (Entität); Einige Dienste rufen einfach eine Datenbankfunktion auf (Übergabe von Parametern). CallableStatement cls = con.prepareCall ("{call …

1
Wie hängt die Inversion der Kontrolle mit der Abhängigkeitsinversion zusammen?
In vielen Artikeln im gesamten Web scheinen die Begriffe Inversion of Control und Dependency Inversion Principle verwechselt und als Synonyme verwendet zu werden (weitere Verwirrung wird durch die Tools "DI-Container" und "IoC-Container" verstärkt). Ein Wikipedia-Artikel macht einen guten Job und versucht zu erklären, dass IoC nicht dasselbe ist wie DI: …

2
.NET MVC-Projektarchitektur / Layering
Wie implementieren Sie bei der Planung der Architektur für eine mittelgroße MVC-Webanwendung die Ebenen, die so entkoppelt wie möglich und einfach zu testen sind? Nehmen wir an, ich verwende zuerst Code als Datenzugriff. Ich habe Probleme damit, was "Geschäftslogik" zu definieren ist und wie es mit der Datenschicht interagieren soll. …



1
OOP ECS gegen Pure ECS
Erstens ist mir bewusst, dass diese Frage mit dem Thema Spieleentwicklung zusammenhängt, aber ich habe mich entschlossen, sie hier zu stellen, da es sich wirklich um ein allgemeineres Problem der Softwareentwicklung handelt. Im letzten Monat habe ich viel über Entity-Component-Systeme gelesen und bin jetzt mit dem Konzept ziemlich vertraut. Es …

4
Klassenduplikationsmuster?
Ich arbeite derzeit als Solo-Entwickler an meinem aktuellen Projekt. Ich habe das Projekt von einem anderen Entwickler geerbt, der das Unternehmen inzwischen verlassen hat. Es ist eine Webanwendung im Model-View-Controller-Stil in C #. Es verwendet Entity Framework für die objektrelationale Zuordnung. Und es gibt zwei verschiedene Klassen für die Typen …

5
Bestes OOP-Entwurfsmuster für eine Abfolge von Operationen
Ich arbeite an einer Anwendung, deren Modul die folgenden Finanzoperationen nacheinander ausführt: Wenn ein Benutzer die Überweisung eines bestimmten Betrags auf sein Bankkonto anfordert: Überprüfen Sie, ob jetzt eine Transaktion stattfinden kann. (Transaktion kann nur während eines bestimmten Zeitraums durchgeführt werden) Überprüfen Sie, ob der Benutzer die Abhebung eines Mindestbetrags …

4
Entwurfsmuster zum Umschließen der Ausführung mit Protokollierung
Einführung Ich implementiere eine abstrakte Java-Klasse eines Verarbeitungsframeworks *. Durch die Implementierung der Funktion executekann ich geschäftslogische Funktionen hinzufügen. Ich möchte die Protokollierung zu Beginn und am Ende jeder Implementierung jeder meiner Ausführungsfunktionen hinzufügen. Auch zwischen einigen Protokollierungen, wenn bestimmte Dinge erledigt werden. Ich möchte dies jedoch einheitlich gestalten. Mein …


5
Können wir die Vererbung mithilfe von Strategiemustern und Abhängigkeitsinjektion vollständig ersetzen?
Zum Beispiel: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Da die Duck-Klasse alle Verhaltensweisen enthält (abstrakt), scheint das Erstellen einer neuen Klasse MallardDuck(die erweitert wird Duck) nicht erforderlich zu sein. Referenz: Head First Design Pattern, Kapitel 1.

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.