Als «design-patterns» getaggte Fragen

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

2
Verwenden von Paketen (Edelsteine, Eier usw.), um entkoppelte Architekturen zu erstellen
Das Hauptproblem Sehen die gute Unterstützung modernsten Programmierplattformen für das Paketmanagement haben (denken gem, npm, pip, usw.), macht es Sinn, eine Anwendung oder ein System zu entwerfen , der intern entwickelten Paketen zusammengesetzt werden, um zu fördern und eine lose gekoppelte Architektur zu schaffen? Beispiel Ein Beispiel hierfür wäre das …



2
Wo können Domänenmodellregeln überprüft werden, die vom Datenbankinhalt abhängen?
Ich arbeite an einem System, mit dem Administratoren Formulare definieren können, die Felder enthalten. Die definierten Formulare werden dann zur Eingabe von Daten in das System verwendet. Manchmal werden die Formulare von einem Menschen über eine GUI ausgefüllt, manchmal wird das Formular basierend auf Werten ausgefüllt, die von einem anderen …

2
Kontextklasse im Strategiemuster
Ich versuche, das Strategiemuster zu verstehen und frage mich: Ist die Kontextklasse ein Muss oder kann ich sie weglassen, ohne den Zweck des Musters zu beeinträchtigen? Ich hatte den Eindruck, ich brauchte eine Art Schalter zum Lesen verschiedener Dateitypen, wollte aber nicht nur etwas hacken und mich später mit Refactoring …


7
Ist die Verwendung von Sicherheitsbedingungen in einer Ansicht eine Verletzung von MVC?
Oft basiert das, was einem Benutzer angezeigt wird (z. B. auf einer Webseite), teilweise auf Sicherheitsüberprüfungen. Normalerweise betrachte ich die Sicherheit auf Benutzerebene / ACL als Teil der Geschäftslogik eines Systems. Wenn eine Ansicht die Sicherheit explizit überprüft, um UI-Elemente bedingt anzuzeigen, verstößt sie dann gegen MVC, indem sie Geschäftslogik …

1
Nützliche Entwurfsmuster für die Arbeit mit FragmentManager unter Android
Bei der Arbeit mit Fragmenten habe ich eine Klasse verwendet, die aus statischen Methoden besteht, die Aktionen für Fragmente definieren. Für jedes Projekt habe ich möglicherweise eine Klasse namens FragmentActions, die ähnliche Methoden enthält: public static void showDeviceFragment(FragmentManager man){ String tag = AllDevicesFragment.getFragmentTag(); AllDevicesFragment fragment = (AllDevicesFragment)man.findFragmentByTag(tag); if(fragment == null){ …

5
Wie teste ich eine Funktion, die auf das Strategiemuster umgestaltet wurde?
Wenn ich eine Funktion in meinem Code habe, die wie folgt aussieht: class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } Normalerweise würde ich dies umgestalten, um Ploymorphism unter Verwendung einer Fabrikklasse und eines Strategiemusters zu …

4
Entwurfsmuster für die Behandlung einer Antwort
Die meiste Zeit, wenn ich Code schreibe, der die Antwort für einen bestimmten Funktionsaufruf verarbeitet, erhalte ich die folgende Codestruktur: Beispiel: Dies ist eine Funktion, die die Authentifizierung für ein Anmeldesystem übernimmt class Authentication{ function login(){ //This function is called from my Controller $result=$this->authenticate($username,$password); if($result=='wrong password'){ //increase the login trials …



3
Beobachtermuster; Wissen * was * geändert hat?
Ich habe zwei abstrakte Klassen Subject und Observer erstellt, die eine klassische Observer-Musterschnittstelle definieren. Ich leite von ihnen ab, um das Observer-Muster zu implementieren. Ein Beobachter könnte so aussehen: void MyClass::Update(Subject *subject) { if(subject == myService_) { DoSomething(); } else if(subject == myOtherService_) { DoSomethingElse(); } } Das ist in …

4
Welche „Code-Gerüche“ sind ein Symptom dafür, dass ein Ereignis-Listener-Modell erforderlich ist?
Was sind die Symptome in einer Codebasis, die darauf hinweisen, dass ein Ereignis-Listener-Ansatz erforderlich ist? Es scheint mir, dass wenn es Klassen gibt, die von mehreren aufgerufen werden müssen, die nicht zur Entwurfszeit anderer Klassen definiert sind, Sie eine Art Signalisierungsrahmen benötigen, aber ich würde gerne hören, welche anderen Situationen …


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.