Eines der OOP-Prinzipien, auf die ich gestoßen bin, ist: - Fassen Sie die Unterschiede zusammen. Ich verstehe, was die wörtliche Bedeutung der Phrase ist, dh verstecke, was variiert. Ich weiß jedoch nicht, wie genau dies zu einem besseren Design beitragen würde. Kann es jemand anhand eines guten Beispiels erklären?
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 …
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 …
Ich habe eine Klasse mit zwei readonly intFeldern. Sie sind als Eigenschaften ausgesetzt: public class Thing { private readonly int _foo, _bar; /// <summary> I AM IMMUTABLE. </summary> public Thing(int foo, int bar) { _foo = foo; _bar = bar; } public int Foo { get { return _foo; } …
Ich erstelle ein Objektmodell für ein Gerät mit mehreren Kanälen. Die zwischen dem Klienten und mir verwendeten Substantive sind Channelund ChannelSet. ("Menge" ist semantisch nicht genau, weil es geordnet ist und eine richtige Menge nicht. Aber das ist ein Problem für eine andere Zeit.) Ich benutze C #. Hier ist …
Das Folgende ist Pseudocode, ich habe es in Java und PHP ausprobiert und beide haben funktioniert: class Test { private int a = 5; public static function do_test(){ var t = new Test(); t.a = 1; print t.a // 1 } } Test::do_test(); Warum können Sie dies im OOP-Paradigma tun …
Meine Frage bezieht sich auf System.inund System.outKlassen (möglicherweise gibt es andere wie die in der Standardbibliothek). Warum das? Ist das nicht eine schlechte Praxis in OOP? Sollte es nicht so verwendet werden: System.getIn()und System.getOut()? Ich hatte immer diese Frage und hoffe, dass ich hier eine gute Antwort finden kann.
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 …
Ich habe jetzt seit langer Zeit versucht, meinen Kopf um OOP zu wickeln. Ich sehe seine Vorteile. Ich habe viele, viele Tutorials gelesen und mir zu diesem Thema gleich viele Videos angesehen. Ich bekomme die Tier- / Katzen- / Hundebeispiele, ich bekomme die Auto- / Fahrtbeispiele. Ich habe Probleme damit, …
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 …
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 …
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 …
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 …
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 …
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.