Als «object-oriented-design» getaggte Fragen

Objektorientiertes Design ist der Prozess der Planung eines Systems interagierender Objekte zum Lösen eines Softwareproblems.

10
Können wir ohne Bauherren leben?
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? …


12
Objektorientiertes Design
Angenommen, Sie haben Folgendes: +--------+ +------+ | Animal | | Food | +-+------+ +----+-+ ^ ^ | | | | +------+ +-------+ | Deer | | Grass | +------+ +-------+ Deererbt von Animalund Grasserbt von Food. So weit, ist es gut. AnimalObjekte können FoodObjekte essen . Jetzt mischen wir es …

6
Sollte ein Objekt seine eigene ID kennen?
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 …




3
Bestes Design für Windows-Formulare mit gemeinsamen Funktionen
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 …

3
Machen Sie niemals öffentliche Mitglieder virtuell / abstrakt - wirklich?
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 == …



4
So erstellen Sie besseren OO-Code in einer relationalen datenbankgesteuerten Anwendung, in der die Datenbank schlecht konzipiert ist
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 …

7
OO Best Practices für C-Programme [geschlossen]
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 …

1
Warum glaubt (/ hat) Bertrand Meyer, dass Subclassing die einzige Möglichkeit ist, ein „geschlossenes“ Modul zu erweitern?
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 …

7
Soll ich Schnittstellen für Datenübertragungsobjekte erstellen?
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 …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.