Ich schreibe ein Spiel in Typescript und habe beschlossen, mich an die Idee der " schnittstellenbasierten Programmierung " zu halten, bei der Sie Code auf der Grundlage einer Schnittstelle anstelle der Implementierung eines Objekts schreiben. Ich habe eine gute Anzahl von Schnittstellen und Klassen geschrieben, die sie implementieren, bin dann …
Ein Kollege von mir hat eine Faustregel für die Auswahl zwischen der Erstellung einer Basisklasse oder einer Schnittstelle entwickelt. Er sagt: Stellen Sie sich jede neue Methode vor, die Sie implementieren möchten. Für jeden von ihnen, bedenken Sie: Diese Methode wird von mehr als einer Klasse implementiert werden , in …
Ich 'entdeckte' Schnittstellen und fing an, sie zu lieben. Das Schöne an einer Schnittstelle ist, dass es sich um einen Vertrag handelt und jedes Objekt, das diesen Vertrag erfüllt, überall dort verwendet werden kann, wo diese Schnittstelle erforderlich ist. Das Problem mit einer Schnittstelle ist, dass sie keine Standardimplementierung haben …
Meine Android-Aktivität enthält mehrere Schaltflächen, die alle einen OnClickListener benötigen. Ich habe viele verschiedene Möglichkeiten gesehen, wie :: Implementierung der Schnittstelle in der Aktivitätsklasse Erstellen einer separaten Klasse, die die Schnittstelle implementiert Definieren einer anonymen inneren Klasse für jede Schaltfläche. Ich habe viele Beispiele für jeden Ansatz gesehen. Mir ist …
Ich lerne groovig und habe gerade etwas über die neue Funktion gelernt, die in 2.3 hinzugefügt wurde, nämlich das Hinzufügen von Eigenschaften . Jetzt scheint es mir, als ob Traits es Ihnen ermöglichen, im Grunde alles zu tun, was eine Superklasse und ein Interface können. Macht das Hinzufügen von Merkmalen …
Ich habe ein Projekt, in dem ich zwei Klassen habe, für die beide ein Datenbankzugriffsobjekt erforderlich ist, das dieselbe Tabelle aktualisiert. Die Einschränkungen des Frameworks und des Projekts machen es so, dass ich diese beiden Klassen nicht kombinieren kann. Ich habe unten einen Fall erstellt, der zeigt, wie das Setup …
Ich erstelle eine Schnittstelle in Java für die benutzerdefinierte Fehlerbehandlung. Ich möchte ein Argumentfehlerobjekt übergeben, aber ich brauche es, um ein Kind der ExceptionKlasse zu sein. Ist es in Ordnung, meinen definierten Klassennamen in einer Schnittstelle zu verwenden? Wird es nicht weniger zu einer Schnittstelle, da es nicht von einer …
Es gibt einen Teil unserer Codebasis, der im folgenden Stil geschrieben ist: // IScheduledTask.cs public interface IScheduledTask { string TaskName { get; set; } int TaskPriority { get; set; } List<IScheduledTask> Subtasks { get; set; } // ... several more properties in this vein } // ScheduledTaskImpl.cs public class ScheduledTaskImpl …
Aus agiler Softwareentwicklung, Prinzipien, Mustern und Praktiken: Pearson New International Edition : Manchmal überschneiden sich die von verschiedenen Gruppen von Clients aufgerufenen Methoden. Wenn die Überlappung gering ist, sollten die Schnittstellen für die Gruppen getrennt bleiben. Die gemeinsamen Funktionen sollten in allen überlappenden Schnittstellen deklariert werden. Die Serverklasse erbt die …
Ich habe die Diskussion bei dieser Frage gesehen, wie eine Klasse, die von einer Schnittstelle implementiert wird, instanziiert wird. In meinem Fall schreibe ich ein sehr kleines Programm in Java, das eine Instanz von verwendet TreeMap, und nach Meinung aller sollte es wie folgt instanziiert werden: Map<X> map = new …
Angenommen, ich habe verschiedene Entitäten in meinem Modell (mit EF), z. B. Benutzer, Produkt, Rechnung und Bestellung. Ich schreibe ein Benutzersteuerelement, das die Zusammenfassungen von Entitätsobjekten in meiner Anwendung drucken kann, in denen die Entitäten zu einer vorab festgelegten Menge gehören. In diesem Fall sage ich, dass Zusammenfassungen von Benutzer …
Ich verwende eine große Schnittstelle mit ungefähr 50 Methoden, um auf eine Datenbank zuzugreifen. Die Schnittstelle wurde von einem Kollegen von mir geschrieben. Wir haben das besprochen: Ich: 50 Methoden sind zu viel. Es ist ein Code-Geruch. Kollege: Was soll ich dagegen tun? Sie möchten den DB-Zugriff - Sie haben …
Nehmen wir an, wir haben eine abstrakte Klasse und lassen diese Klasse nur abstrakte Methoden haben. Unterscheidet sich diese abstrakte Klasse von einer Schnittstelle, die nur dieselben Methoden hat? Ich möchte wissen, ob es sowohl philosophisch, objektiv als auch in der zugrunde liegenden Programmiersprachenimplementierung Unterschiede zwischen einer abstrakten Klasse mit …
Vor einiger Zeit habe ich eine Art "Faustregel" über die Konkretheit von Methodenparametertypen, Rückgabetypen und Eigenschaftstypen gelesen, aber ich erinnere mich einfach nicht daran. Es ging darum, Ihre Rückgabetypen so konkret wie möglich und Ihre Parametertypen so abstrakt wie möglich zu halten ... oder umgekehrt. Ich weiß nicht, ob es …
Ich habe mich dazu entwickelt, ein Prinzip für das Entwerfen und Konsumieren von Schnittstellen zu verwenden, das im Grunde sagt: "Fragen Sie nur nach dem, was Sie brauchen." Wenn ich zum Beispiel eine Reihe von Typen habe, die gelöscht werden können, erstelle ich eine DeletableSchnittstelle: interface Deletable { void delete(); …
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.