Fragen zu OOP in MQL5 - Seite 55

 
Dmitry Fedoseev:

Du steckst in den Kleinigkeiten fest. Uninteressant. Der Hauptpunkt der Diskussion über das "keeper"-Muster war, dass es eine Art von Kapselungserhalt verspricht, aber durch die Erstellung einiger öffentlicher Methoden für jedes Feld implementiert wird. Komisch, dass Sie die wichtigste Botschaft nicht verstanden haben.

Ich bin nicht festgefahren, sondern versuche aus Respekt vor Ihnen als Gesprächspartner, Ihren Worten einen Sinn zu geben und Ihre Selbstwidersprüche zu entschlüsseln. Offenbar vergeblich.

Ich glaube auch nicht, dass irgendjemand hier an Ihrem "heiligen Muster"-Geschwafel interessiert ist.

 
Dmitry Fedoseev:

Hier ist alles klar, spezifisch und kanonisch. Es gibt ein BUCH! In diesem BUCH werden diese Muster dargelegt, und das ist es, worüber wir sprechen. Das Buch heißt Design Patterns oder so ähnlich. Aber nicht nur das Buch, es gibt eine Menge von Seiten über sie im Internet und sogar in Wikipedia, die Hauptsache ist, dass das Thema kanonisiert ist)) ...und wer nicht versteht, Design Patterns - plebejisch, und wer sie gemeistert - er hat das Leben selbst gemeistert! Amen!

Du bist wie ein Clown, leider. Verlassen Sie einfach den OOP-Thread, wenn es Sie so sehr anwidert)

 
Dmitry Fedoseev:

Hier ist alles klar, spezifisch und kanonisch. Es gibt ein BUCH! In diesem BUCH werden diese Muster dargelegt, und das ist es, worüber wir sprechen. Das Buch heißt Design Patterns oder so ähnlich. Aber es gibt nicht nur das Buch, sondern auch viele Seiten im Internet und sogar in Wikipedia, die Hauptsache ist, dass das Thema kanonisiert ist).

Natürlich, wenn es bis zu 100 globale Variablen gibt, dann können wir auf Funktionen verzichten, wenn es mehr als 50 EAs gibt, dann sind Klassen angebracht, und ich verstehe richtig, wenn es mehr als 20 Entwickler und mehr als 20 Methoden gibt und die Anzahl der Variablen unbekannt ist, dann wird das Muster benötigt. Wenn es nur einen Entwickler gibt, wenn ja, dann nicht so sehr?

 
Aleksey Mavrin:

Ich bin nicht festgefahren, sondern versuche aus Respekt vor Ihnen als Gesprächspartner, Ihren Worten einen Sinn zu geben und Ihre Selbstwidersprüche zu entschlüsseln. Offenbar umsonst.

Ich glaube auch nicht, dass irgendjemand hier an Ihrem "heiligen Muster"-Geschwafel interessiert ist.

Ich habe keine Widersprüche, der Widerspruch liegt in Ihren Mustern, ich habe bereits zweimal darüber geschrieben, lassen Sie mich daran erinnern: ein "keeper"-Muster verspricht den Erhalt der Kapselung, wird aber durch die Erstellung von zwei öffentlichen Methoden für jedes private Feld umgesetzt.

Und sagen Sie mir, wo sehen Sie einen Widerspruch in meinem Muster?

 
Valeriy Yastremskiy:

Natürlich, wenn es bis zu 100 globale Variablen gibt, dann können wir ohne Funktionen auskommen, wenn es mehr als 50 EAs gibt, dann sind Klassen angebracht, und ich verstehe richtig, wenn es mehr als 20 Entwickler, mehr als 20 Methoden gibt und die Anzahl der Variablen unbekannt ist, dann wird das Muster benötigt. Wenn es nur einen Entwickler gibt, dann, wenn ja, nicht so sehr?

Entwickler brauchen in erster Linie Köpfchen.

 
Aleksey Mavrin:

Du bist wie ein Clown, leider. Verlassen Sie einfach den OOP-Thread, wenn Sie so angewidert davon sind)

Was "es"? Ich mag OOP. Aber diese berüchtigten Muster haben mit echter OOP nur wenig zu tun.

 
Dmitry Fedoseev:

Ich habe keinen Widerspruch, der Widerspruch liegt in Ihren Mustern, ich habe bereits zweimal darüber geschrieben, zur Erinnerung: Das "keeper"-Muster verspricht, die Kapselung zu bewahren, wird aber durch die Erstellung von zwei öffentlichen Methoden pro privatem Feld umgesetzt.

Jetzt verstehe ich es. Sie haben einfach alle Muster mit Emotionen überhäuft, so dass der Sinn Ihrer Worte verloren ging.

In Snapshot wird dieses Problem jedoch durch die Verwendung verschachtelter Klassen für Snapshot gelöst.

Wenn es nicht von der Sprache unterstützt wird, stimme ich zu, gibt es diesen Nachteil, aber er kann durch einige Krückentricks, an die ich mich erinnere, umgangen werden.

 
Aleksey Mavrin:

Jetzt verstehe ich es. Sie haben die Emotionen vor lauter Mustern so verwässert, dass der Sinn Ihrer Worte verloren gegangen ist.

In Snapshot wird dieses Problem jedoch durch die Verwendung verschachtelter Klassen für Snapshot gelöst.

Wenn es von der Sprache nicht unterstützt wird, stimme ich zu, ist dieser Nachteil vorhanden, aber er kann mit einigen Krückentricks umgangen werden, soweit ich mich erinnere.

Sie haben das völlig falsch verstanden.

Es spielt keine Rolle, ob es möglich ist, eine verschachtelte Klasse zu schreiben oder nicht, es ist kein großer Unterschied. In diesem Thread gibt es ein Codebeispiel mit einer verschachtelten Klasse und zwei öffentlichen Methoden pro privatem Feld.

 
Dmitry Fedoseev:

Was "es"? Ich mag OOP. Aber diese berüchtigten Muster haben mit echter OOP nur wenig zu tun.

Ich sage es noch einmal: Niemand betet nach den Mustern. Es handelt sich lediglich um Muster, die als Referenz verwendet werden können.

Aber zu behaupten, dass sie nichts mit OOP zu tun haben, nun ja, das ist nicht wahr.

Meiner bescheidenen Erfahrung nach werden sie in reiner Buchform bis auf wenige Ausnahmen kaum verwendet. Wenn es eine Aufgabe gibt, die zu einem Muster passt, wird sie in der Regel mit mindestens ein paar anderen Aufgaben für andere Muster kombiniert, und so kann man 2-3-10+ Muster miteinander kreuzen, das ist eine Aufgabe für das Gehirn des Programmierers/Architekten.

 
Dmitry Fedoseev:

Du verstehst gar nichts.

Es spielt keine Rolle, ob Sie eine verschachtelte Klasse schreiben können oder nicht, es ist kein großer Unterschied. In diesem Thread gibt es ein Codebeispiel mit verschachtelter Klasse und zwei öffentlichen Methoden pro privatem Feld.

Du hast mir schon so oft gesagt, dass ich ein Idiot bin und nichts verstehe, dass ich stolz auf meine Gelassenheit bin, weil ich dir nicht schon längst ein wohlverdientes "Fuck off" geschickt habe.)

Im Grunde genommen macht eine verschachtelte Klasse öffentliche Methoden für private Felder optional, das ist die Verletzung der Kapselung, über die Sie schreiben. Gibt es weitere Argumente?