Ich interessiere mich dafür, ob das durch Ruby on Rails bekannte ActiveRecord- Muster die Verwendung von SOLID- Entwurfsprinzipien fördert oder davon abhält . Zum Beispiel scheint es mir, dass ActiveRecord-Objekte sowohl Domänenlogik als auch Persistenzlogik enthalten, was eine Verletzung der Einzelverantwortung darstellt.
In altem Code sehe ich gelegentlich Klassen, die nichts als Wrapper für Daten sind. so etwas wie: class Bottle { int height; int diameter; Cap capType; getters/setters, maybe a constructor } Mein Verständnis von OO ist, dass Klassen Strukturen für Daten und die Methoden zur Verarbeitung dieser Daten sind. Dies …
In den meisten OOP-Sprachen sind Objekte im Allgemeinen mit einer begrenzten Anzahl von Ausnahmen (wie z. B. Tupel und Zeichenfolgen in Python) veränderbar. In den meisten funktionalen Sprachen sind Daten unveränderlich. Sowohl veränderbare als auch unveränderliche Objekte bringen eine ganze Reihe von Vor- und Nachteilen mit sich. Es gibt Sprachen, …
Mit der Zeit konnte ich zwei Teile von SOLID verstehen - das „S“ und das „O“. "O" - Ich habe das Open Closed-Prinzip mithilfe von Vererbung und Strategiemuster gelernt. "S" - Ich habe beim Lernen von ORM das Prinzip der Einzelverantwortung gelernt (die Persistenzlogik wird von Domänenobjekten entfernt). In ähnlicher …
Ist es eine schlechte Praxis, dass der Controller das Repository anstelle des Dienstes aufruft? um mehr zu erklären: Ich finde heraus, dass Controller in gutem Design den Service aufrufen und das Service Use Repository verwenden. aber manchmal in controller habe / brauche ich keine logik und muss nur von db …
Laut Wann ist primitive Obsession kein Code-Geruch? Ich sollte ein ZipCode-Objekt erstellen, um eine Postleitzahl anstelle eines String-Objekts darzustellen. Nach meiner Erfahrung ziehe ich es jedoch vor, etwas zu sehen public class Address{ public String zipCode; } Anstatt von public class Address{ public ZipCode zipCode; } weil ich denke, dass …
Ich entwerfe gerade meine Anwendung und bin mir nicht sicher, ob ich SOLID und OOP richtig verstehe. Klassen sollten eine Sache tun und es gut machen, aber andererseits sollten sie reale Objekte darstellen, mit denen wir arbeiten. In meinem Fall mache ich eine Feature-Extraktion für einen Datensatz und dann eine …
Ich frage mich immer wieder, ob es legitim ist, Verben zu verwenden, die auf Substantiven in OOP basieren. Ich bin auf diesen brillanten Artikel gestoßen , obwohl ich immer noch nicht der Meinung bin, worauf es ankommt. Um das Problem etwas näher zu erläutern, heißt es in dem Artikel, dass …
Gibt es eine genaue, aber einfache und verständliche Definition der Unterscheidung zwischen "Anwendungsfall", "User Story" und "Nutzungsszenario"? Es gibt eine ganze Reihe von Erklärungen, aber im Moment sehe ich niemanden, der die Unterschiede in einem oder zwei Sätzen erklärt ... (zB http://c2.com/cgi-bin/wiki?UserStoryAndUseCaseComparison sehr lang und schwer zu bekommen, voller Diskussionen)
Diese Frage ist sprachunabhängig, aber nicht vollständig, da sich die objektorientierte Programmierung (Object Oriented Programming, OOP) beispielsweise in Java , das keine erstklassigen Funktionen hat, von der in Python unterscheidet . Mit anderen Worten, ich fühle mich weniger schuldig, unnötige Klassen in einer Sprache wie Java zu erstellen, aber ich …
Wir haben gerade geändert, wie unsere AS3-Anwendung mit unserem Back-End kommuniziert, und wir sind dabei, ein REST-System zu implementieren, das unser altes ersetzt. Leider befindet sich der Entwickler, der mit der Arbeit begonnen hat, jetzt im langfristigen Krankenstand und wurde mir übergeben. Ich arbeite seit ungefähr einer Woche damit und …
Wenn wir den Rot-, Grün- und Refaktor-Zyklus durchführen, sollten wir immer den Mindestcode schreiben, um den Test zu bestehen. So wurde mir TDD beigebracht und so beschreiben fast alle Bücher den Prozess. Aber was ist mit der Protokollierung? Ehrlich gesagt habe ich selten die Protokollierung in einer Anwendung verwendet, es …
Ich kenne die Syntax, die Regeln für abstrakte Klassen und möchte die Verwendung einer abstrakten Klasse kennen Abstrakte Klassen können nicht direkt instanziiert, sondern durch andere Klassen erweitert werden Was ist der Vorteil davon? Wie unterscheidet es sich von einem Interface? Ich weiß, dass eine Klasse mehrere Schnittstellen implementieren kann, …
Das CS-Programm meiner Schule vermeidet jede Erwähnung von objektorientierter Programmierung, deshalb habe ich einige Lektüre allein gemacht, um es zu ergänzen - insbesondere die objektorientierte Softwarekonstruktion von Bertrand Meyer. Meyer weist wiederholt darauf hin, dass Klassen möglichst viele Informationen über ihre Implementierung verbergen sollten, was sinnvoll ist. Insbesondere argumentiert er …
Ich bin verwirrt über einige der Notationen von UML-Klassendiagrammen. Ich bin mir ziemlich sicher, was Assoziation bedeutet. Jede Beziehung zwischen Instanzen von zwei Klassen, bei der eine Instanz einer Klasse über eine Instanz der zweiten Klasse Bescheid wissen muss, um ihre Arbeit auszuführen, ist eine Assoziationsbeziehung. Eine Assoziation bedeutet oft, …
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.