Softwareentwicklung

Fragen und Antworten für Fachleute, Akademiker und Studenten, die im Lebenszyklus der Systementwicklung arbeiten

5
Ist es sinnvoll, eine Schnittstelle zu definieren, wenn ich bereits eine abstrakte Klasse habe?
Ich habe eine Klasse mit einigen Standard- / gemeinsamen Funktionen. Ich benutze abstract classdafür: public interface ITypeNameMapper { string Map(TypeDefinition typeDefinition); } public abstract class TypeNameMapper : ITypeNameMapper { public virtual string Map(TypeDefinition typeDefinition) { if (typeDefinition is ClassDefinition classDefinition) { return Map(classDefinition); } ... throw new ArgumentOutOfRangeException(nameof(typeDefinition)); } protected …



5
Unter welchen Bedingungen (falls vorhanden) empfiehlt es sich, zwei Server abzufragen und nur die schnellste Antwort zu verwenden?
Ich habe gefragt, was nun eine von der Community gelöschte Frage zu SO ist, warum jemand Javascript verwenden sollte Promise.race, und ein hochrangiger Benutzer hat dies kommentiert: Wenn Sie zwei Dienste haben, die einen Wert berechnen, können Sie beide parallel abfragen und den jeweils zuerst zurückgegebenen Wert verwenden, anstatt einen …

2
Wie vermeide ich doppelte Datenstrukturen, wenn Teile einer App in verschiedenen Sprachen geschrieben sind?
Angenommen, Sie schreiben eine App in Java . Ihre App kommuniziert mit einem in Python geschriebenen API-Server . Der Python-Server kommuniziert mit einer SQL- Datenbank. Sie haben auch eine Website für Ihre App in JavaScript geschrieben . Mit 4 verschiedenen Sprachen ist es einfach, im Wesentlichen die gleichen Datenstrukturen zu …

4
Wie soll eine Klasse ihren Benutzern mitteilen, welche Untergruppe von Methoden sie implementiert?
Szenario Eine Webanwendung definiert eine Benutzer-Backend-Oberfläche IUserBackendmit den Methoden getUser (uid) createUser (UID) deleteUser (uid) setPassword (UID, Passwort) ... Verschiedene Benutzer-Backends (zB LDAP, SQL, ...) implementieren diese Schnittstelle, aber nicht jedes Backend kann alles. Beispielsweise erlaubt ein konkreter LDAP-Server dieser Webanwendung nicht, Benutzer zu löschen. Die LdapUserBackendimplementierende Klasse IUserBackendwird also …




5
Ist es sinnvoll, Code in der Hoffnung auf eine Qualitätsverbesserung im Miniformat umzugestalten, oder wird nur Code ohne großen Nutzen verschoben?
Beispiel Ich bin auf monolithischen Code gestoßen, der "alles" an einem Ort erledigt - Daten aus der Datenbank laden, HTML-Markup anzeigen und als Router / Controller / Aktion fungieren. Ich begann SRP anzuwenden, um Datenbankcode in eine eigene Datei zu verschieben, um bessere Namen für die Dinge zu erhalten, und …

1
Was bedeutet Syntaxessig?
Ich habe Groovy in Action, Second Edition, durchgelesen und auf einer Fußnote den folgenden Text gefunden Java gießt "Syntaxessig" über ein solches Konstrukt, um Programmierer davon abzuhalten, es zu verwenden. Was bedeutet der Begriff syntax vinegarhier? Ich habe noch nie von diesem Begriff gehört und nach DuckDuckGo und Google gesucht, …
12 java  syntax  groovy 


1
Warum heißt ein Semaphor Semaphor?
Es scheint mir nicht, dass ein Eisenbahnsemaphor ein Semaphor besser beschreibt als jedes andere generische Signalobjekt, wie eine Flagge oder eine Ampel. Sogar so etwas wie ein Schlüsselbund (die Leute nehmen die Schlüssel vom Ring, um auf gesperrte Ressourcen zuzugreifen, und geben sie dann zurück, wenn sie fertig sind) ist …
12 semaphore 

1
Datenübergreifende Suche über mehrere Mikrodienste
Ich habe Daten für eine bestimmte Domain, die zwischen einem Mikrodienst und einer alten Datenbank verteilt sind. Ich habe eine Suche, die sowohl Felder in der Legacy- als auch in der Microservice-Datenbank umfasst. Zuvor (vor dem Mikroservice-Split) wurde eine SQL-Abfrage durchgeführt. Jetzt benötige ich einen REST-Aufruf und eine Abfrage an …


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.