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 …
Ich habe über die (Un) Bequemlichkeit gelesen, nullstatt (zum Beispiel) zu haben Maybe. Nachdem ich diesen Artikel gelesen habe , bin ich überzeugt, dass es viel besser wäre, ihn zu verwendenMaybe (oder etwas Ähnliches). Ich bin jedoch überrascht zu sehen, dass alle "bekannten" imperativen oder objektorientierten Programmiersprachen weiterhin verwenden null(was …
Ich lese "Java-Parallelität in der Praxis" und es heißt: "Zum Glück können Sie mit den gleichen objektorientierten Techniken, mit denen Sie gut organisierte, wartbare Klassen schreiben können, wie beispielsweise Kapselung und Ausblenden von Daten, auch thread-sicherere Klassen erstellen Klassen." Das Problem Nr. 1 - Ich habe noch nie etwas über …
Nach mehr als 10 Jahren Java / C # -Programmierung erstelle ich entweder: Abstrakte Klassen : Vertrag soll nicht wie besehen instanziiert werden. final / sealed classes : Implementierung, die nicht als Basisklasse für etwas anderes gedacht ist. Ich kann mir keine Situation vorstellen, in der eine einfache "Klasse" (dh …
Ich bin ein langjähriger Entwickler (ich bin 49), aber eher neu in der objektorientierten Entwicklung. Ich lese seit Bertrand Meyers Eiffel über OO, aber ich habe wirklich wenig über OO programmiert. Der Punkt ist, dass jedes Buch über OO-Design mit einem Beispiel für ein Boot, ein Auto oder ein beliebiges …
Ich würde es wahrscheinlich als Code-Geruch oder sogar als Anti-Pattern bezeichnen, eine Klasse zu haben, die 23 Interfaces implementiert. Wenn es sich in der Tat um ein Anti-Pattern handelt, wie würden Sie es nennen? Oder folgt es einfach nicht dem Grundsatz der einheitlichen Verantwortung?
Als Java / C # / C ++ - Programmierer höre ich viel über funktionale Sprachen, habe aber nie die Notwendigkeit gefunden, eine zu lernen. Ich habe auch gehört, dass Sie aufgrund des höheren Denkens in funktionalen Sprachen ein besserer OOP / prozeduraler Sprachprogrammierer sind. Kann das jemand bestätigen? Inwiefern …
Bei der Konzeption und implenting eine objektorientierte Programmiersprache, muss irgendwann man eine Wahl trifft über grundlegende Arten der Umsetzung (wie int, float, doubleoder Äquivalente) als Klassen oder etwas anderes. Offensichtlich Sprachen in der C - Familie eine Tendenz haben , nicht sie als Klassen zu definieren (Java hat spezielle Urtyp, …
Es gibt einen klassischen Artikel mit dem Namen " Zu den Kriterien für die Zerlegung von Systemen in Module" , den ich gerade zum ersten Mal gelesen habe. Es macht für mich vollkommen Sinn und ist wahrscheinlich einer dieser Artikel, auf denen OOP basierte. Sein Fazit: Wir haben versucht, anhand …
Ich verfolgte diese hoch gestimmte Frage bezüglich eines möglichen Verstoßes gegen das Liskov-Substitutionsprinzip. Ich weiß, was das Liskov-Substitutionsprinzip ist, aber was mir immer noch nicht klar ist, kann schief gehen, wenn ich als Entwickler beim Schreiben von objektorientiertem Code nicht über das Prinzip nachdenke.
Ich verstehe, was SOLID leisten soll, und verwende es regelmäßig in Situationen, in denen Modularität wichtig ist und die Ziele eindeutig nützlich sind. Zwei Dinge hindern mich jedoch daran, es konsistent auf meiner Codebasis anzuwenden: Ich möchte eine vorzeitige Abstraktion vermeiden. Nach meiner Erfahrung führt das Zeichnen von Abstraktionslinien ohne …
Ich sehe immer, dass Abstraktion eine sehr nützliche Funktion ist, die OO für die Verwaltung der Codebasis bietet. Aber wie werden große Nicht-OO-Codebasen verwaltet? Oder werden diese irgendwann einfach zu einem " Big Ball of Mud "? Update: Anscheinend denkt jeder, dass 'Abstraktion' nur Modularisierung oder Verstecken von Daten ist. …
Ich hatte vor kurzem eine Diskussion mit einem Freund über OOP in der Entwicklung von Videospielen. Ich erklärte die Architektur eines meiner Spiele, das zur Überraschung meines Freundes viele kleine Klassen und mehrere Abstraktionsebenen enthielt. Ich argumentierte, dass dies das Ergebnis von mir war, dass ich mich darauf konzentrierte, alles …
Je mehr Funktionen ich programmiere, desto mehr kommt eine zusätzliche Abstraktionsebene hinzu, die so aussieht, als würde die Ebene einer Zwiebel die vorherigen Ebenen umfassen. Ich weiß nicht, ob dies zutrifft, und kann jemand erklären, wie funktional eine der Prinzipien ist oder nicht: Kapselung, Abstraktion, Vererbung, Polymorphismus Ich denke, wir …
Ich habe Schwierigkeiten, Ressourcen zum Schreiben von Programmen in einem funktionalen Stil zu finden. Das am weitesten fortgeschrittene Thema, das ich online finden konnte, war die Verwendung von struktureller Typisierung, um Klassenhierarchien zu reduzieren. Die meisten beschäftigen sich nur mit der Verwendung von map / fold / reduction / etc, …
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.