Angenommen, aus irgendeinem Grund werden alle Objekte auf diese Weise erstellt: $ obj = CLASS :: getInstance (). Dann injizieren wir Abhängigkeiten mit Setzern und starten die Initialisierung mit $ obj-> initInstance (); Gibt es echte Probleme oder Situationen, die nicht gelöst werden können, wenn wir überhaupt keine Konstruktoren verwenden? …
Sollte eine Klasse etwas über ihre Unterklassen wissen? Sollte eine Klasse beispielsweise etwas tun, das für eine bestimmte Unterklasse spezifisch ist? Mein Instinkt sagt mir, dass dies ein schlechtes Design ist, es scheint eine Art Anti-Muster zu sein.
obj.idscheint ziemlich verbreitet zu sein und scheint auch in den Bereich von etwas zu fallen, das ein Objekt über sich selbst wissen könnte. Ich frage mich, warum mein Objekt seine eigene ID kennen sollte. Es scheint keinen Grund zu geben, es zu haben? Einer der Hauptgründe für das Vorhandensein ist …
Als C ++ - Entwickler bin ich an C ++ - Headerdateien gewöhnt und finde es vorteilhaft, eine Art erzwungene "Dokumentation" im Code zu haben. Normalerweise habe ich eine schlechte Zeit, wenn ich etwas C # -Code lesen muss: Ich habe keine solche mentale Karte der Klasse, mit der ich …
Um zu verdeutlichen, was ich frage ist public class A{ private/*or public*/ B b; } gegen public class A{ private/*or public*/ class B{ .... } } Ich kann mir auf jeden Fall einige Gründe vorstellen, um den einen oder anderen zu verwenden, aber was ich wirklich sehen möchte, sind überzeugende …
Speziell in Java, aber wahrscheinlich auch in anderen Sprachen: Wann wäre es sinnvoll, zwei Verweise auf dasselbe Objekt zu haben? Beispiel: Dog a = new Dog(); Dob b = a; Gibt es eine Situation, in der dies nützlich wäre? Warum ist dies die bevorzugte Lösung, awenn Sie mit dem durch …
In der Vergangenheit habe ich Vererbung verwendet, um die Erweiterung von Windows-Formularen in meiner Anwendung zu ermöglichen. Wenn alle meine Formulare über gemeinsame Steuerelemente, Grafiken und Funktionen verfügen würden, würde ich ein Basisformular erstellen, das die gemeinsamen Steuerelemente und Funktionen implementiert, und dann zulassen, dass andere Steuerelemente von diesem Basisformular …
In den 2000er Jahren sagte mir ein Kollege, es sei ein Anti-Pattern, öffentliche Methoden virtuell oder abstrakt zu machen. Zum Beispiel hielt er eine Klasse wie diese für nicht gut designt: public abstract class PublicAbstractOrVirtual { public abstract void Method1(string argument); public virtual void Method2(string argument) { if (argument == …
Gibt es einen Grund, eine init()Methode für einen Typ zu deklarieren ? Ich frage nicht, ob wir einen Konstruktor vorzieheninit() sollen oder wieinit() wir es vermeiden sollen, dies zu deklarieren . Ich frage , ob es irgendwelche Gründe eine hinter erklärt init()Methode ( zu sehen , wie häufig es ist) …
Nach Refactoring zu Mustern : Wenn eine Klasse versucht, zu viel zu tun, werden häufig zu viele Instanzvariablen angezeigt. Wenn eine Klasse zu viele Instanzvariablen enthält, darf der doppelte Code nicht weit hinterherhinken. Wie kommt es, dass zu viele Instanzvariablen zu doppeltem Code führen?
Ich schreibe eine Java-Webanwendung, die hauptsächlich aus einer Reihe ähnlicher Seiten besteht, in denen jede Seite mehrere Tabellen und einen Filter enthält, der für diese Tabellen gilt. Die Daten in diesen Tabellen stammen aus einer SQL-Datenbank. Ich verwende myBatis als ORM, was in meinem Fall möglicherweise nicht die beste Wahl …
Geschlossen . Diese Frage muss gezielter gestellt werden . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 4 Jahren . "Wenn du wirklich OO-Zucker willst, dann benutze …
In Meyers Object-Oriented Software Construction (1988) definiert er das Open / Closed-Prinzip wie folgt: Ein Modul gilt als offen, wenn es noch zur Erweiterung zur Verfügung steht. Beispielsweise sollte es möglich sein, Felder zu den enthaltenen Datenstrukturen oder neue Elemente zu den von ihnen ausgeführten Funktionen hinzuzufügen. Ein Modul gilt …
Ist es eine gute oder eine schlechte Idee, eine Schnittstelle für Datenübertragungsobjekte zu erstellen? Vorausgesetzt, das Objekt ist normalerweise veränderlich. Obwohl mein Beispiel in Java ist, sollte es auf jede andere Sprache anwendbar sein, die ähnliche Konzepte hat. interface DataTransferObject { String getName(); void setName(String name); } class RealDataTransferObject implements …
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.