Als «design» getaggte Fragen

Fragen zur Problemlösung und Planung einer Lösung durch Software-Design.

3
Wie löse ich die zirkuläre Abhängigkeit?
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 …


3
Was ist das Prinzip des geringsten Erstaunens?
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 …

2
Wie entwerfe ich ein skalierbares Benachrichtigungssystem? [geschlossen]
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 …

18
Sollte ein Entwickler gegen unnötige oder schädliche Funktionen argumentieren?
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 …
32 design 


1
Ist "StringBuilder" eine Anwendung des Builder-Entwurfsmusters?
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, …

10
Ist es vernünftig anzunehmen, dass jede physikalische Größe durch eine 64-Bit-Ganzzahl ohne Überlauf oder Unterlauf dargestellt werden kann?
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 ^ …

5
Ist es vorzuziehen, von oben nach unten oder von unten nach oben zu entwerfen?
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. …
31 design  c++  lisp 



5
Was ist ein effektiver Weg, um Gründe für Produktdesignentscheidungen aufzuzeichnen?
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, …

9
Entwerfen einer Klasse, um ganze Klassen als Parameter und nicht einzelne Eigenschaften zu verwenden
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, …
30 java  c#  design  solid 

10
Wie finde ich bei einer Herde von Pferden die durchschnittliche Hornlänge aller Einhörner?
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, …

2
Best Practices für Python Factory-Funktionen
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, …
30 design  python 

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.