Ich habe drei Klassen, die kreisförmig voneinander abhängig sind: TestExecuter führt Anforderungen von TestScenario aus und speichert eine Berichtsdatei mit der ReportGenerator-Klasse. So: TestExecuter ist von ReportGenerator abhängig, um den Bericht zu generieren ReportGenerator hängt von TestScenario und den in TestExecuter festgelegten Parametern ab. TestScenario ist abhängig von TestExecuter. Kann …
Ich arbeite an meiner eigenen Bewerbung und stecke fest. Ich muss eine Funktion implementieren, kann aber keinen guten Ansatz finden, um diese Funktion zu implementieren. Ich habe ein paar Tage darüber nachgedacht, und es kamen keine guten Gedanken. Das Durchsuchen des Internets hat mich nicht inspiriert. Ich muss weitermachen, aber …
Was wird beim Programmieren als Prinzip des geringsten Erstaunens bezeichnet? In welcher Beziehung steht dieses Konzept zum Entwerfen guter APIs? Gilt dies nur für die objektorientierte Programmierung oder durchdringt es auch andere Programmiertechniken? Hängt dies mit dem Prinzip zusammen, "eine einzige Sache in Ihrer Methode zu tun und es gut …
Ich muss einen Benachrichtigungssystem-Manager schreiben. Hier sind meine Anforderungen: Ich muss in der Lage sein, eine Benachrichtigung auf verschiedenen Plattformen zu senden, die möglicherweise völlig unterschiedlich sind (zum Beispiel muss ich in der Lage sein, entweder eine SMS oder eine E-Mail zu senden). Manchmal ist die Benachrichtigung für alle Empfänger …
Was ist eine gute Einstellung der Entwickler, wenn sie über neue Funktionen diskutieren, und zwar über unkritische / fragwürdige Funktionen? Angenommen, Sie entwickeln eine Java-ähnliche Sprache, und der Chef sagt: "Wir brauchen Zeiger, damit Entwickler direkt mit dem Objektspeicher experimentieren können!" Sollte der Entwickler die Idee verwerfen, weil sie unvorstellbare …
Ich nehme an einem Software-Design-Kurs teil, in dem ich eine Open-Source-Software zur Analyse aus Sicht des Software-Designs auswählen sollte. Es muss ein großes Projekt sein: mindestens 100.000 Codezeilen. Ich würde wirklich gerne eine Software wählen, die sehr gut entworfen und aufgebaut ist, um gute Einblicke in gutes Software-Design zu haben. …
Beschränkt sich das Muster "Builder" auf die Adressierung des Anti-Musters "Teleskopkonstruktor", oder kann es auch auf das allgemeinere Problem der komplizierten Erstellung unveränderlicher Objekte angewendet werden? Die StringBuilderKlasse hat das Wort "Builder" im Namen, hat jedoch nichts mit Teleskopkonstruktoren zu tun. Sie hilft uns lediglich dabei, alle Daten zu sammeln, …
Der ursprüngliche binäre Suchalgorithmus im JDK verwendete 32-Bit-Ganzzahlen und hatte einen Überlauffehler, wenn (low + high) > INT_MAX( http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html ) . Wenn wir denselben binären Suchalgorithmus mit (vorzeichenbehafteten) 64-Bit-Ganzzahlen low + highumschreiben , können wir dann davon ausgehen, dass INT64_MAX niemals überschritten wird, da es physikalisch unmöglich ist, 10 ^ …
Nach meinem Verständnis besteht Top-Down-Design darin, das abstrakte Konzept auf hoher Ebene in kleinere konkrete und nachvollziehbare Teile zu zerlegen, bis der kleinste Baustein definiert ist. Andererseits definiert Bottom-Up Teile mit niedriger Ebene und baut dann nach und nach Blöcke mit höherer Ebene auf, bis das gesamte System gebildet ist. …
Bei Gesprächen mit Kollegen über Software-Design- und -Entwicklungsprinzipien ist mir aufgefallen, dass die Bauindustrie eine der häufigsten Quellen für Analogien ist. Wir bauen Software und betrachten Design und Struktur als Architektur . Eine der besten Möglichkeiten zum Lernen (oder Lehren) besteht in der Analyse von Analogien. Welche anderen Analogien lassen …
Ziemlich einfach. Ich implementiere eine Schnittstelle, aber es gibt eine Eigenschaft, die für diese Klasse nicht erforderlich ist und eigentlich nicht verwendet werden sollte. Meine anfängliche Idee war, einfach etwas zu tun wie: int IFoo.Bar { get { raise new NotImplementedException(); } } Ich nehme an, dass daran nichts auszusetzen …
In unserem Unternehmen verwenden wir keine Produktdesign-Dokumente. Wir haben insgesamt drei Mitarbeiter, sodass alle Produktdesign-Diskussionen persönlich oder über Slack stattfinden. (Wir haben auch das grundlegende Slack-Paket, mit dem nur die neuesten Nachrichten angezeigt werden können.) Unser Produkt befindet sich noch in einem frühen Stadium und wir greifen häufig Designelemente auf, …
Angenommen, Sie haben eine Anwendung mit einer weit verbreiteten Klasse namens User. Diese Klasse enthüllt alle Informationen über den Benutzer, seine ID, seinen Namen, die Zugriffsebenen auf die einzelnen Module, die Zeitzone usw. Die Benutzerdaten sind natürlich systemweit referenziert, aber aus welchem Grund auch immer, das System ist so eingerichtet, …
Die obige Frage ist ein abstraktes Beispiel für ein häufiges Problem, auf das ich im Legacy-Code stoße, oder genauer gesagt, Probleme, die sich aus früheren Versuchen zur Lösung dieses Problems ergeben. Ich kann mir mindestens eine .NET Framework-Methode vorstellen, die dieses Problem lösen soll, wie die Enumerable.OfType<T>Methode. Aber die Tatsache, …
Angenommen, ich habe eine Datei foo.pymit einer Klasse Foo: class Foo(object): def __init__(self, data): ... Jetzt möchte ich eine Funktion hinzufügen, die ein FooObjekt auf eine bestimmte Weise aus Rohdaten erstellt. Sollte ich es als statische Methode in Foo oder als eine andere separate Funktion setzen? class Foo(object): def __init__(self, …
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.