Ich habe festgestellt, dass ab PHP5 der Sprache Schnittstellen hinzugefügt wurden. Da PHP jedoch so lose geschrieben ist, scheinen die meisten Vorteile der Verwendung von Schnittstellen verloren zu gehen. Warum ist das in der Sprache enthalten?
Nach dem Lesen Sollten Paketnamen Singular oder Plural sein? Mir ist aufgefallen, dass ich noch nie eine richtige Debatte über eines meiner Lieblingsprobleme gesehen habe: die Benennung von Schnittstellenimplementierungen. Angenommen, Sie haben eine Schnittstelle Order, die auf verschiedene Arten implementiert werden soll, aber es gibt nur die erste Implementierung, wenn …
Ich versuche zu verstehen, wie eine gute Entkopplung zwischen einer Benutzeroberfläche und dem Modell implementiert werden kann, habe aber Probleme, genau herauszufinden, wo die Linien aufgeteilt werden müssen. Ich habe mir Model-View-Presenter angesehen, bin mir aber nicht sicher, wie ich es implementieren soll. Beispielsweise verfügt meine Ansicht über mehrere Dialogfelder. …
Wenn meine Klasse implementseine Schnittstelle ist, kann ich dann sagen, dass ich der Vererbung folge? Ich weiß, wenn eine Klasse eine extendsandere Klasse ist, dann ist es Vererbung.
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 …
Ist es zur Vereinfachung der Benutzeroberfläche besser, die getBalance()Methode nicht zu haben ? Übergeben 0an charge(float c);wird das gleiche Ergebnis geben: public class Client { private float bal; float getBalance() { return bal; } float charge(float c) { bal -= c; return bal; } } Vielleicht eine Notiz machen javadoc? …
Ich möchte wissen, warum das .compareTo()in der ComparableSchnittstelle ist, während eine Methode wie .equalsin der ObjectKlasse ist. Mir erscheint es willkürlich, warum eine Methode wie diese .compareTo()nicht schon in der ObjectKlasse ist. Zur Verwendung .compareTo()implementieren Sie die ComparableSchnittstelle und implementieren die .compareTo()Methode für Ihre Zwecke. Für die .equals()Methode überschreiben Sie …
Mein Kollege und ich haben unterschiedliche Meinungen zum Verhältnis zwischen Basisklassen und Interfaces. Ich bin der Meinung, dass eine Klasse keine Schnittstelle implementieren sollte, es sei denn, diese Klasse kann verwendet werden, wenn eine Implementierung der Schnittstelle erforderlich ist. Mit anderen Worten, ich sehe Code gerne so: interface IFooWorker { …
Ich bin oft auf den Begriff "Programmieren auf eine Schnittstelle anstatt auf eine Implementierung" gestoßen, und ich denke, ich verstehe irgendwie, was das bedeutet. Aber ich möchte sicherstellen, dass ich die Vorteile und möglichen Implementierungen verstehe. "Programmieren auf eine Schnittstelle" bedeutet, dass man sich, wenn möglich, auf eine abstraktere Ebene …
Um austauschbar und testbar zu sein, müssen Dienste mit Logik normalerweise eine Schnittstelle haben, z public class FooService: IFooService { ... } In Bezug auf das Design stimme ich dem zu, aber eines der Dinge, die mich bei diesem Ansatz stören, ist, dass Sie für einen Service zwei Dinge deklarieren …
Es ist üblich, '-able' als Suffix für Schnittstellen zu verwenden, z Serializable Printable Enumerable Drinkable Shootable Drehbar Ich dachte, dass "Can-" besser sein könnte, weil es aussagekräftiger sein könnte. Ja, es ist wortreicher und fügt dem Schnittstellennamen Rauschen hinzu. Insbesondere können passive Verben verwendet werden. ZB 1 bedeutet Shootable, dass …
In den letzten Monaten bin ich ein paar Mal über die folgende Technik / das folgende Muster gestolpert. Ich kann jedoch scheinbar keinen bestimmten Namen finden und bin mir auch nicht hundertprozentig sicher, welche Vor- und Nachteile er hat. Das Muster lautet wie folgt: Innerhalb einer Java-Schnittstelle wird wie gewohnt …
Obwohl dies im C ++ - Standard nicht vorgeschrieben ist, sieht es so aus, als ob GCC beispielsweise übergeordnete Klassen, einschließlich rein abstrakter Klassen, implementiert, indem es in jeder Instanziierung der betreffenden Klasse einen Zeiger auf die v-Tabelle für diese abstrakte Klasse einfügt . Dies erhöht natürlich die Größe jeder …
Die Aufgabe besteht darin, eine Hardware innerhalb des Geräts gemäß einer Eingabespezifikation zu konfigurieren. Dies sollte wie folgt erreicht werden: 1) Sammeln Sie die Konfigurationsinformationen. Dies kann zu verschiedenen Zeiten und an verschiedenen Orten geschehen. Beispielsweise können Modul A und Modul B (zu unterschiedlichen Zeiten) einige Ressourcen von meinem Modul …
Angenommen, Sie haben eine Schnittstelle IFoo: public interface IFoo { void Bar(string s); int Quux(object o); } In Version 2 Ihrer API müssen Sie Glargdieser Schnittstelle eine Methode hinzufügen . Wie können Sie dies tun, ohne Ihre vorhandenen API-Benutzer zu beschädigen und die Abwärtskompatibilität aufrechtzuerhalten? Dies richtet sich hauptsächlich an …
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.