Das Extrahieren von Funktionen in Methoden oder Funktionen ist ein Muss für Codemodularität, Lesbarkeit und Interoperabilität, insbesondere in OOP. Dies bedeutet jedoch, dass mehr Funktionsaufrufe getätigt werden. Wie wirkt sich die Aufteilung unseres Codes in Methoden oder Funktionen tatsächlich auf die Leistung in modernen * Sprachen aus? * Die beliebtesten: …
Ich bemerkte also, dass es möglich ist, das Einfügen privater Funktionen in Kopfzeilen zu vermeiden, indem man Folgendes ausführt: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return p.somePrivateField == …
Eine typische Implementierung eines DDD-Repository sieht nicht besonders gut aus, zum Beispiel eine save()Methode: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Infrastrukturteil: package com.example.infrastructure; // imports... public class JdbcProductRepo implements …
In meinem System häufig mit Flughafen - Codes arbeiten I ( "YYZ", "LAX", "SFO", etc.), sind sie immer in dem exakt gleichen Format (3 Buchstaben, als Groß dargestellt). Das System verarbeitet in der Regel 25 bis 50 dieser (unterschiedlichen) Codes pro API-Anforderung, wobei insgesamt über tausend Zuweisungen vorgenommen werden. Sie …
Diese Frage, wann privat und wann geschützt in Klassen verwendet werden soll, brachte mich zum Nachdenken. (Ich werde diese Frage auch auf die letzten Klassen und Methoden ausdehnen, da sie verwandt sind. Ich programmiere in Java, denke aber, dass dies für jede OOP-Sprache relevant ist.) Die akzeptierte Antwort lautet: Eine …
Ist es fair zu sagen, dass es eine gute Praxis ist, privatebeim Codieren alles nach vorne zu verschieben? Und aktualisieren Sie es dann nur, protectedwenn eine Unterklasse es benötigt oder publicwenn eine andere Klasse es benötigt?
Wenn Sie Circleextend habenEllipse , wird das Liskov-Substitutionsprinzip verletzt , da es eine Nachbedingung ändert: Sie können nämlich X und Y unabhängig voneinander festlegen, um eine Ellipse zu zeichnen, aber X muss für Kreise immer gleich Y sein. Aber liegt das Problem hier nicht darin, dass Circle der Untertyp einer …
Vor ein paar Monaten habe ich angefangen, in einem neuen Projekt zu arbeiten, und als ich den Code durchgesehen habe, habe ich die Menge der verwendeten statischen Methoden gemerkt. In ihnen sind nicht nur Utility-Methoden collectionToCsvString(Collection<E> elements), sondern auch viele Geschäftslogiken enthalten. Als ich den Verantwortlichen nach den Hintergründen fragte, …
Die become:Nachricht in Smalltalk bewirkt, dass ein Objekt in ein anderes geändert wird, was sich auf alle Verweise darauf auswirkt. Welche Verwendung hat diese Sprachfunktion? Wird es in echtem Code verwendet? Ist es nur eine Neugier? Wird es als gute / schlechte Praxis angesehen, es anzuwenden?
Geschlossen . Diese Frage ist meinungsbasiert . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 4 Jahren . In meinem Code füge ich einen Logger über die …
Swift hat Optionals. C # hat NullableTypen. Soweit ich weiß, dienen beide demselben Zweck und speichern neben dem Wert eines bestimmten Typs auch Informationen darüber, ob eine Variable einen Wert hat oder nicht definiert (nicht initialisiert) ist. Die Frage ist, ob es sich Optionalsnur um NullableTypen mit unterschiedlichen Namen handelt …
Meine Frage betrifft einen Sonderfall der Superklasse Animal. Meine AnimalDose moveForward()und eat(). Sealerstreckt Animal. Dogerstreckt Animal. Und es gibt ein besonderes Wesen , das auch erstreckt Animalgenannt Human. Humanimplementiert auch eine Methode speak()(nicht implementiert von Animal). In einer Implementierung einer abstrakten Methode, die akzeptiert, Animalmöchte ich die speak()Methode verwenden. Das …
Ich habe versucht, den Unterschied zwischen dem Open Closed Principle (OCP) und dem Dependency Inversion Princible (DIP) zu verstehen . Aufgrund meiner bisherigen Recherchen im Internet bin ich zu dem Schluss gekommen, dass DIP eine Option ist, mit der wir OCP erreichen können. Ich bin ich richtig? Können Sie mir …
Ich kann keine bessere Lösung für mein Problem finden. Ich habe einen Ansichtscontroller, der eine Liste von Elementen darstellt. Diese Elemente sind Modelle, die eine Instanz von B, C, D usw. sein können und von A erben. In diesem Ansichtscontroller sollte also jedes Element zu einem anderen Bildschirm der Anwendung …
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 …
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.