Ich programmiere seit einiger Zeit in prozeduralen Sprachen und meine erste Reaktion auf ein Problem besteht darin, es in Aufgaben zu zerlegen, anstatt die verschiedenen Entitäten (Objekte), die existieren, und ihre Beziehungen zu berücksichtigen. Ich habe einen Universitätskurs in OOP absolviert und verstehe die Grundlagen von Kapselung, Datenabstraktion, Polymorphismus, Modularität …
Ich habe heute eine Codeüberprüfung von einem leitenden Entwickler erhalten, in der gefragt wurde: "Was halten Sie übrigens davon, Funktionen über eine switch-Anweisung zu verteilen?" Ich habe an vielen Stellen gelesen, wie schlecht es ist, ein Argument durch die Methode zum Umschalten auf einen Aufruf zu pumpen. OOP, nicht so …
Aus heutiger Sicht passt diese Frage nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich Debatten, Argumente, Abstimmungen oder erweiterte Diskussionen hervorrufen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden …
Ich bin sehr neu in der Programmierung und ein bisschen verwirrt, weil ich verschiedene Konventionen aus verschiedenen Quellen gelesen und gehört habe: Hat die objektorientierte Programmierung 4 oder 5 Konzepte? Als Neuling verstehe ich, dass dies die 5 Konzepte sind: Abstraktion Erbe Verkapselung Polymorphismus Modularität Wie kommt es also, dass …
Es gibt einige ähnliche Fragen 1 ,2 ,3 ,4 , aber nicht scheint genau der Fall in dieser Frage, noch scheinen die Lösungen optimal. Dies ist eine allgemeine OOP-Frage, vorausgesetzt, Polymorphismus, Generika und Mixins sind verfügbar. Die tatsächlich zu verwendende Sprache ist OOP Javascript (Typescript), aber es ist das gleiche …
Ich versuche zu verstehen, wie sich das Prinzip der Abhängigkeitsinversion vom Prinzip "Programm zu einer Schnittstelle, nicht zu einer Implementierung" unterscheidet. Ich verstehe, was "Programmieren auf eine Schnittstelle, keine Implementierung" bedeutet. Ich verstehe auch, wie es flexiblere und wartbarere Designs ermöglicht. Ich verstehe jedoch nicht, wie sich das Prinzip der …
Kontext Ich habe mit einer Hierarchie von Objekten (einem Ausdrucksbaum) ein "Pseudo" -Besuchermuster verwendet (Pseudo, da darin kein doppelter Versand verwendet wird): public interface MyInterface { void Accept(SomeClass operationClass); } public class MyImpl : MyInterface { public void Accept(SomeClass operationClass) { operationClass.DoSomething(); operationClass.DoSomethingElse(); // ... and so on ... } …
Ein Freund von mir sagte mir, dass die beste Vorgehensweise darin besteht, dass Klassen enthaltende mainMethoden benannt werden sollten Mainund nur mainMethoden enthalten. Außerdem mainsollte die Methode nur Eingaben analysieren, andere Objekte erstellen und andere Methoden aufrufen. Die MainKlasse und die mainMethode sollten nichts anderes tun. Grundsätzlich sollte das, was …
Geschlossen . Diese Frage basiert auf Meinungen . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie durch Bearbeiten dieses Beitrags mit Fakten und Zitaten beantwortet werden kann . Geschlossen vor 4 Jahren . Kurze Frage Gibt es eine typische Möglichkeit, "öffentliche" und …
Wenn ich versuche, eine OO-Lösung zu entwerfen, verwende ich im Allgemeinen die CRC- Modellierung, bei der ich die Klassennamen (Substantive), ihre Funktionen (Verben) und ihre Zusammenarbeit mit anderen Klassen aufführe. Dieser Blog hat das Folgende über diesen Nomen-Verb-Ansatz zu sagen ...This approach, which I will call “noun and verb,” is …
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, …
In Domain Driven Design kann die Domänenschicht mehrere (traditionelle) Dienste haben. Für die Benutzerdomäne haben wir beispielsweise Folgendes: Eine UserFactory, die Benutzerobjekte auf unterschiedliche Weise erstellt Ein UserRepository, das für die Interaktion mit den Persistenzdiensten in der Infrastrukturschicht verantwortlich ist Ist ein UserService in der Domänenschicht lediglich ein Vermittler und …
Eines der wichtigsten Konzepte in der objektorientierten Programmierung ist die Kapselung. In letzter Zeit scheint sich die Software-Welt jedoch zugunsten anderer Paradigmen wie der funktionalen Programmierung zu neigen. Ich denke, was ist mit Kapselung und anderen OOP-Grundsätzen? Sind sie falsch? Wird OOP falsch angewendet? Zum Beispiel wird Alan Kay in …
Ich bin Elektrotechniker und weiß nicht, was zum Teufel ich mache. Bitte speichern Sie die zukünftigen Betreuer meines Codes. Vor kurzem habe ich an einer Reihe kleinerer Programme (in C #) gearbeitet, deren Funktionalität logisch "prozedural" ist. Eines davon ist beispielsweise ein Programm, das Informationen aus verschiedenen Datenbanken sammelt, diese …
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() …
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.