Als «interfaces» getaggte Fragen

Fragen zu Überlegungen zum Design der Benutzeroberfläche, z. B. zur Programmierung der Schnittstelle.


2
Nicht unterstützteOperationException in Java Collections Framework-Schnittstellen
Beim Durchsuchen des Java Collections Framework ist mir aufgefallen, dass einige der Schnittstellen den Kommentar enthalten (optional operation). Diese Methoden ermöglichen das Implementieren von Klassen über eine, UnsupportedOperationExceptionwenn sie diese Methode einfach nicht implementieren möchten. Ein Beispiel hierfür ist die addAllMethode in der Set Interface. Nun, wie in dieser Reihe …


4
Sind Schnittstellen und Methodensignaturen urheberrechtlich geschützt?
Handelt es sich beispielsweise um eine Urheberrechtsverletzung, wenn ich eine Klasse namens Random mit genau demselben Zweck und denselben Methodensignaturen wie die Microsoft-Klasse .Net System.Random schreibe? Macht es einen Unterschied, in welcher Sprache es geschrieben ist? In diesem Fall möchte ich eine Random-Klasse für die Verwendung in ActionScript schreiben, der …

8
Ist eine Schnittstelle, die asynchrone Funktionen verfügbar macht, eine undichte Abstraktion?
Ich lese das Buch Prinzipien, Praktiken und Muster der Abhängigkeitsinjektion und lese über das Konzept der undichten Abstraktion, das im Buch gut beschrieben wird. In diesen Tagen überarbeite ich eine C # -Codebasis mithilfe der Abhängigkeitsinjektion, sodass asynchrone Aufrufe verwendet werden, anstatt solche zu blockieren. Dabei erwäge ich einige Schnittstellen, …

5
Wie ändert sich das Konzept einer Klasse, wenn Daten anstelle von Methodenparametern an den Konstruktor übergeben werden?
Nehmen wir an, wir machen einen Parser. Eine Implementierung könnte sein: public sealed class Parser1 { public string Parse(string text) { ... } } Oder wir könnten den Text stattdessen an den Konstruktor übergeben: public sealed class Parser2 { public Parser2(string text) { this.text = text; } public string Parse() …

1
Warum definiert CharSequence nicht enthält (CharSequence)?
Dies gilt sowohl für Java SE als auch für Android, da die Verträge identisch sind. CharSequence-Dokumentation für Java SE CharSequence-Dokumentation für Android CharSequencedefiniert keine contains(CharSequence)Methode. Ich kann anscheinend keinen Grund finden, warum und es wäre sehr nützlich, wenn ich nicht anrufen müsste CharSequence#toString(), um nach einer Folge von Zeichen zu …



4
Der Begriff "Schnittstelle" in C ++
Java unterscheidet klar zwischen classund interface. (Ich glaube, C # auch, aber ich habe keine Erfahrung damit). Beim Schreiben von C ++ gibt es jedoch keine sprachlich erzwungene Unterscheidung zwischen Klasse und Schnittstelle. Folglich habe ich die Benutzeroberfläche immer als Problemumgehung für das Fehlen einer Mehrfachvererbung in Java angesehen. Eine …

3
Wie unterscheiden sich existenzielle Typen von Schnittstellen?
Angesichts des existenziellen Typs T = ∃X.{op₁:X, op₂:X→boolean} und diese generische Java-Schnittstelle: interface T<X> { X op₁(); boolean op₂(X something); } Was sind die grundlegenden Unterschiede zwischen dem existenziellen Typ und der Java-Schnittstelle? Offensichtlich gibt es syntaktische Unterschiede und die Objektorientierung von Java (die auch Details wie versteckte thisParameter usw. …


5
Modifiziertes Strategie-Entwurfsmuster
Ich habe vor kurzem angefangen, mich mit Designmustern zu befassen, und eine Sache, die ich codiere, würde perfekt zum Strategiemuster passen, abgesehen von einem kleinen Unterschied. Im Wesentlichen benötigen einige (aber nicht alle) meiner Algorithmen einen oder zwei zusätzliche Parameter, die an sie übergeben werden. Also muss ich entweder Übergeben …


3
Verwenden von Schnittstellen für lose gekoppelten Code
Hintergrund Ich habe ein Projekt, das von der Verwendung eines bestimmten Hardwaregerätetyps abhängt, während es nicht wirklich wichtig ist, wer dieses Hardwaregerät herstellt, solange es das tut, wofür ich es brauche. Abgesehen davon weisen sogar zwei Geräte, die dasselbe tun sollen, Unterschiede auf, wenn sie nicht vom selben Hersteller hergestellt …

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.