Ich habe vor kurzem einen neuen Job angefangen, bei dem ich an einer sehr großen Anwendung arbeite (15M loc). In meinem vorherigen Job hatten wir eine ähnlich große Anwendung, aber (im positiven oder im negativen Sinne) verwendeten wir OSGi, was bedeutete, dass die Anwendung in viele Mikrodienste unterteilt war, die …
Ich lerne und programmiere seit einiger Zeit in C #. Trotzdem kann ich die Nützlichkeit von Schnittstellen nicht beurteilen. Sie bringen zu wenig auf den Tisch. Abgesehen von der Bereitstellung der Funktionssignaturen tun sie nichts. Wenn ich mich an die Namen und Unterschriften der Funktionen erinnern kann, die implementiert werden …
Ich habe immer gelesen, dass Kompositionen der Vererbung vorzuziehen sind. Ein Blogbeitrag über andere Arten zum Beispiel befürwortet die Verwendung von Komposition anstelle von Vererbung, aber ich kann nicht sehen, wie Polymorphismus erreicht wird. Aber ich habe das Gefühl, wenn Leute sagen, sie bevorzugen Komposition, dann meinen sie wirklich, sie …
In Java 8 können Schnittstellen implementierte Methoden, statische Methoden und sogenannte "Standard" -Methoden enthalten (die von den implementierenden Klassen nicht überschrieben werden müssen). Aus meiner (wahrscheinlich naiven) Sicht bestand keine Notwendigkeit, solche Schnittstellen zu verletzen. Schnittstellen waren schon immer ein Vertrag, den Sie erfüllen müssen, und dies ist ein sehr …
In unserem Team wird derzeit diskutiert, ob das Ändern des Code-Designs, um das Testen von Einheiten zu ermöglichen, ein Codegeruch ist oder inwieweit dies ohne Codegeruch möglich ist. Dies ist darauf zurückzuführen, dass wir gerade erst damit beginnen, Praktiken einzuführen, die in nahezu jedem anderen Softwareentwicklungsunternehmen vorhanden sind. Insbesondere werden …
Während des Einsteigerkurses in Hardware / Software-Schnittstelle und Betriebssystemen wird häufig die Frage aufgeworfen, ob es besser ist, einige Hardwareteile durch Software zu ersetzen und umgekehrt. Ich kann die Verbindung nicht herstellen.
Ich habe " Clean Code " von Robert Martin gelesen , um hoffentlich ein besserer Programmierer zu werden. Obwohl bisher nichts wirklich bahnbrechend war, habe ich anders darüber nachgedacht, wie ich Anwendungen entwerfe und Code schreibe. Es gibt einen Teil des Buches, mit dem ich nicht nur nicht einverstanden bin, …
"Abstrakte Klasse" und "Schnittstelle" sind ähnliche Konzepte, wobei die Schnittstelle die abstraktere der beiden ist. Ein entscheidender Faktor ist, dass abstrakte Klassen bei Bedarf Methodenimplementierungen für abgeleitete Klassen bereitstellen. In C # wurde dieser Differenzierungsfaktor jedoch durch die kürzliche Einführung von Erweiterungsmethoden reduziert, die es ermöglichen, Implementierungen für Schnittstellenmethoden bereitzustellen. …
Was ist besser und warum? (Aus Sicht des Interface-Designs): a) Zwei Show()und Hide()Funktionen haben b) Eine SetVisible(bool visible)Funktion haben BEARBEITEN: Zum Beispiel haben einige Objekte einen Sichtbarkeitsstatus und diese Funktion wird verwendet, um diesen zu ändern. c) haben alle drei Show(), Hide(), SetVisible(bool visible)Funktionen
In C # ist der folgende Code gültig interface I{ int property{get;set;} } Was für mich keinen Sinn ergibt. Dies scheint eines der wichtigsten Prinzipien von Schnittstellen zu brechen: mangelnder Zustand (dh keine Felder). Erstellt die Eigenschaft kein implizites privates Feld? Wäre das nicht wirklich schlecht für Schnittstellen?
Neben mir sitzt ein Kollege, der eine Benutzeroberfläche wie diese entworfen hat: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } Das Problem ist, dass wir diesen "End" -Parameter derzeit nirgendwo in unserem Code verwenden. Er ist nur dort, weil wir ihn möglicherweise …
In Rich Hickeys zum Nachdenken anregendem Hauptvortrag " The Value of Values " (29 Minuten) spricht er über den Overhead einer Sprache wie Java und erklärt: "Alle diese Schnittstellen töten Ihre Wiederverwendung." Was meint er? Ist das wahr? Auf meiner Suche nach Antworten bin ich auf folgendes gestoßen: Das Prinzip …
Ich benutze nur selten Schnittstellen und finde sie in anderen Codes häufig. Außerdem erstelle ich in meinem Code selten Unter- und Superklassen (während ich meine eigenen Klassen erstelle). Ist es eine schlechte Sache? Würden Sie vorschlagen, diesen Stil zu ändern? Hat dieser Stil irgendwelche Nebenwirkungen? Liegt es daran, dass ich …
Ich habe viele abstrakte Klassen / Methoden erstellt. Dann habe ich angefangen, Schnittstellen zu verwenden. Jetzt bin ich mir nicht sicher, ob Interfaces abstrakte Klassen nicht überflüssig machen. Sie benötigen eine vollständig abstrakte Klasse? Erstellen Sie stattdessen eine Schnittstelle. Sie benötigen eine abstrakte Klasse mit einer Implementierung? Erstellen Sie eine …
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.