Als «object-oriented» getaggte Fragen

Eine Methode, mit der ein System als eine Reihe von Objekten modelliert werden kann, die modular gesteuert und bearbeitet werden können


5
Ist es eine gute Praxis, Konstanten durch Verwendung von Gettern zu vermeiden?
Ist es eine gute Praxis, Konstanten, die außerhalb von Klassen verwendet werden, durch Getter zu ersetzen? Ist es zum Beispiel besser, if User.getRole().getCode() == Role.CODE_ADMINoder if User.getRole().isCodeAdmin()? Das würde zu dieser Klasse führen: class Role { constant CODE_ADMIN = "admin" constant CODE_USER = "user" private code getRoleCode() { return Role.code …

6
Ist es in Ordnung, wenn Interfaces eine Methode enthalten, die den konkreten Typ der Implementierung in Form einer Konstante zurückgibt?
Ich gerate sehr oft in eine Situation, in der ich ein anderes Verhalten einer Komponente benötige, das vom konkreten Typ einer anderen Schnittstelle abhängt. Um meine Frage zu veranschaulichen, habe ich ein kleines Codestück geschrieben, das zeigt, was ich meine. In diesem Beispiel versuche ich, ein Lebensmittelobjekt aus einem Tierobjekt …





5
Warum ist es schlecht, etwas in der Sprache X zu schreiben, als ob Sie ein Programm in der Sprache Y schreiben, um ein gemeinsames Codierungsparadigma zu verwenden? [Closed]
Vor einiger Zeit stellte ich auf SO eine Frage zu etwas, das in C ++ geschrieben wurde, aber anstatt eine Antwort auf das vorliegende Problem zu bekommen, wurden die Kommentare zu meinem Codierungsstil verrückt, selbst als ich anzeigte, dass es sich um einen WIP- Code handelte und dass ich es …


4
Wie kann ich einem bereits vorhandenen Objekt Funktionen hinzufügen?
Ich habe eine Schnittstelle, die eine bestimmte Menge an gut definierten Funktionen hat. Sagen wir: interface BakeryInterface { public function createCookies(); public function createIceCream(); } Dies funktioniert gut für die meisten Implementierungen der Schnittstelle, aber in einigen Fällen muss ich einige neue Funktionen hinzufügen (wie vielleicht in eine neue Methode …


4
Klären Sie das offene / geschlossene Prinzip
Wie ich es erklärt habe, besagt das Open / Closed-Prinzip, dass einmal geschriebener Code nicht geändert werden sollte (abgesehen von Fehlerkorrekturen). Aber wenn sich meine Geschäftsregeln ändern, sollte ich dann nicht den Code ändern, der diese Änderungen implementiert? Ich vermute, ich verstehe etwas nicht über das Prinzip, weil es für …

10
Ist es ein Anti-Pattern, wenn eine Klasseneigenschaft eine neue Instanz einer Klasse erstellt und zurückgibt?
Ich habe eine Klasse namens Heading, die ein paar Dinge tut, aber sie sollte auch das Gegenteil des aktuellen Heading-Werts zurückgeben können, der schließlich verwendet werden muss, indem eine neue Instanz der HeadingKlasse selbst erstellt wird. Ich kann eine einfache Eigenschaft haben, die aufgerufen wird reciprocal, um die entgegengesetzte Überschrift …

5
Ist meine Verwendung eines expliziten Casting-Operators sinnvoll oder ein schlechter Hack?
Ich habe ein großes Objekt: class BigObject{ public int Id {get;set;} public string FieldA {get;set;} // ... public string FieldZ {get;set;} } und ein spezialisiertes, DTO-ähnliches Objekt: class SmallObject{ public int Id {get;set;} public EnumType Type {get;set;} public string FieldC {get;set;} public string FieldN {get;set;} } Ich persönlich finde ein …

10
Wie lässt sich diese reale Aktivität modellieren, die in OOP Zirkelverweise zu benötigen scheint?
Ich habe mit einem Problem in einem Java-Projekt über Zirkelverweise gerungen. Ich versuche, eine reale Situation zu modellieren, in der die fraglichen Objekte voneinander abhängig zu sein scheinen und voneinander wissen müssen. Das Projekt ist ein allgemeines Modell für das Spielen eines Brettspiels. Die Grundklassen sind nicht spezifisch, werden jedoch …

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.