Ich sehe eine Menge Quellcode, der PImpl-Idiom in C ++ verwendet. Ich gehe davon aus, dass der Zweck darin besteht, die privaten Daten / den Typ / die Implementierung zu verbergen, damit die Abhängigkeit beseitigt und die Kompilierungszeit und das Problem mit dem Header-Einschluss verringert werden können. Interface- / pure-abstract-Klassen …
Ich interessiere mich für das Erlernen von Entwurfsmustern und möchte wissen, was als erstklassige Bücher für das Erlernen dieses Themas gelten. Gibt es ein Buch, das de facto als Standard für die Beschreibung von Best Practices, Entwurfsmethoden und anderen hilfreichen Informationen zu Entwurfsmustern gilt? Was macht dieses Buch so besonders?
Die Implementierung der Verkettung in Beans ist sehr praktisch: Konstruktoren, Megakonstruktoren und Fabriken müssen nicht überladen werden, und die Lesbarkeit wird erhöht. Ich kann mir keine Nachteile vorstellen, es sei denn, Sie möchten, dass Ihr Objekt unveränderlich ist. In diesem Fall würde es sowieso keine Setter haben. Gibt es einen …
Bei der Implementierung des Builder-Musters stelle ich häufig fest, wann das Erstellen fehlschlagen soll, und es gelingt mir sogar, alle paar Tage andere Standpunkte in dieser Angelegenheit zu vertreten. Zunächst einige Erklärungen: Mit frühzeitig fehlschlagen meine ich, dass das Erstellen eines Objekts fehlschlagen sollte, sobald ein ungültiger Parameter übergeben wird …
MethodA ruft eine MethodB auf, die wiederum MethodC aufruft. In MethodB oder MethodC gibt es KEINE Ausnahmebehandlung. In MethodA gibt es jedoch eine Ausnahmebehandlung. In MethodC tritt eine Ausnahme auf. Jetzt sprudelt diese Ausnahme zu MethodA, die sie entsprechend behandelt. Was ist daran falsch? Meiner Meinung nach wird ein Aufrufer …
Um mehrere mögliche Fehler zu behandeln, die die Ausführung nicht anhalten sollten, habe ich eine errorVariable, die Clients überprüfen und zum Auslösen von Ausnahmen verwenden können. Ist das ein Anti-Pattern? Gibt es eine bessere Möglichkeit, damit umzugehen? Ein Beispiel dafür finden Sie in der mysqli- API von PHP . Angenommen, …
Als ich das 21. Jahrhundert C las , kam ich zu Kapitel 6 im Abschnitt "Markieren außergewöhnlicher numerischer Werte mit NaNs" , wo die Verwendung der Bits in der Mantisse zum Speichern von willkürlichen Bitmustern und deren Verwendung als Marker oder Zeiger erläutert wird (das Buch erwähnt dies) dass WebKit …
Als IT-Student erhielt ich kürzlich von einem unserer Lehrer einen Überblick über Entwurfsmuster. Ich habe verstanden, wofür sie sind, aber einige Aspekte nerven mich immer noch. Werden sie wirklich von der Mehrheit der Programmierer verwendet? Apropos Erfahrung, ich hatte einige Probleme beim Programmieren, Dinge, die ich für eine Weile nicht …
Ich benutze MVC / MV *, seit ich vor Jahren angefangen habe, meinen Code zu organisieren. Ich benutze es so lange, dass ich mir keine andere Möglichkeit vorstellen kann, meinen Code zu strukturieren, und jeder Job, den ich nach meinem Praktikum hatte, war MVC-basiert. Meine Frage ist, was sind die …
Ist es eine schlechte Praxis, dass der Controller das Repository anstelle des Dienstes aufruft? um mehr zu erklären: Ich finde heraus, dass Controller in gutem Design den Service aufrufen und das Service Use Repository verwenden. aber manchmal in controller habe / brauche ich keine logik und muss nur von db …
Ich habe SignalRin mehreren meiner Projekte Echtzeit-Messaging-Funktionen verwendet. Es scheint zuverlässig zu funktionieren und ist sehr einfach zu erlernen. Zumindest für mich ist die Versuchung, die Entwicklung eines Web-API-Dienstes aufzugeben und SignalRfür alles zu verwenden. Ich bin der Meinung, dass dies durch durchdachtes Design erreicht werden könnte, und wenn dies …
Gibt es Szenarien, in denen die Abfrage nach Ereignissen besser wäre als die Verwendung des Beobachtermusters ? Ich habe Angst vor der Verwendung von Polling und würde es nur verwenden, wenn mir jemand ein gutes Szenario gibt. Ich kann mir nur vorstellen, wie das Beobachtermuster besser ist als die Befragung. …
Vielleicht ein bisschen frech, aber da ich diese Antwort nirgendwo über Google finde, kann ich sicherstellen, dass Software Engineering die Antwort hat: Was ist ein Helfer? Ich habe gesehen, dass der Name überall verwendet wird (Modulnamen, Klassennamen, Methodennamen), als ob die Semantik tiefgründig und aussagekräftig wäre, aber im Kontext der …
Nachdem ich endlich ernsthaft angefangen habe, einige grundlegende Muster zu lernen (sehr spät in der Karriere, aber das ist eine andere Geschichte), versuche ich, mich mit den Unterschieden zwischen Factory Pattern und Abstract Factory vertraut zu machen. Was sind die Hauptunterschiede zwischen diesen beiden Mustern? Ich verstehe, dass die Factory-Methode …
Sagte Jame Gosling "Sie sollten die Vererbung der Implementierung nach Möglichkeit vermeiden." Verwenden Sie stattdessen die Schnittstellenvererbung. Aber wieso? Wie können wir vermeiden, die Struktur eines Objekts mit dem Schlüsselwort "extend" zu erben, und gleichzeitig unseren Code objektorientiert machen? Könnte jemand bitte ein objektorientiertes Beispiel geben, das dieses Konzept in …
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.