Darstellung eines Objekts in der Programmierung. - Seite 13

 
Aliaksandr Hryshyn #:
Darf ich ein Beispiel nennen?

Ein Beispiel wird etwas später angeführt, wenn das Konzept ausführlicher und für den Leser klarer dargelegt wird.

 

Teil 3.

Um das Ereignismodell zu formalisieren, ist es notwendig, das Wesen von Ereignissen näher zu erläutern. In den vorangegangenen Abschnitten wurde davon ausgegangen, dass alle Objekte aus so genannten "Proto-Blöcken" bestehen, d. h. aus einigen spezifischen Einheiten mit einer parametrischen Basis, die von Handler-Funktionen verwendet werden, um das "Leben" von Objektsystemen zu reproduzieren. Es wurde gesagt, dass jeder "Proto-Block" einen parametrischen "Körper" hat, der wie eine "Matrjoschka" "Körper" kleinerer Proto-Blöcke umfasst und selbst in Körpern größerer Blöcke enthalten ist. Wir haben angenommen, dass die Protoblöcke nach Komplexitätsebenen in einer "Hierarchie" angeordnet werden können, wobei ein Parameter das kleinste "Teilchen" ist, ein Satz von Parametern der parametrische "Körper" des Objekts ist, Sätze von Parametern, die von diesem Körper "entbündelt" sind, die Protoblöcke der nächsten Komplexitätsebenen sind, von denen die erste die Bedingung ist - die parametrische Formation, die wichtige "Haltepunkte" im Objektwesen gibt, dann, auf der Grundlage des Satzes der verwandten Bedingung, der Prozess... Halten wir einen Moment inne und betrachten wir die parametrische Struktur der genannten Protoblöcke, um zum Ereignis überzugehen und zu verstehen, wie es entsteht. An dieser Stelle kann festgestellt werden:

  • Ein Zustand ist eine abgeleitete Konstruktion aus dem Parametersatz des Objekts, d. h. ein "Abdruck" der ausgewählten Parameter.
  • Ein Zustand speichert wichtige Instanzen der Werte seines Objekts.
  • Strukturell sind parametrische Staatskörper als "Legowerkzeuge" Teil von Prozessen.
  • Ein Prozess ist eine Folge von Zuständen, die durch das "Leben" des Objekts in einer Kette verbunden sind.
  • Prozess enthält Staaten als "Schmalfilmbilder" und wird in diese zerlegt.

Als Nächstes gehen wir auf die Entstehung des Ereignisses und die Offenlegung seiner parametrischen Struktur ein. Wir müssen herausfinden, wie das Ereignis gebildet wird, das parametrische "Porträt" sehen und seinen Platz in der Proto-Block-Hierarchie. Danach werden wir die Proto-Bausteine zu einem funktionalen System "verbinden" und die "Geburt" des Ereignismodells verfolgen. Es sollte sofort bemerkt werden, dass die parametrische Struktur eines Ereignisses mehrere Variationen von Kombinationen permanenter Attribute aufweist. Machen wir uns mit ihnen vertraut:

  • Ereignishintergrund - ein Satz von Parametern und deren Werten, die dem Objekt oder seiner Umgebung (andere Objekte in der Umgebung) entnommen werden, dargestellt als Ausgangszustand, der einer bedeutsamen Änderung vorausgeht oder sie begleitet, die als Ereignis betrachtet wird.
  • Zielwert- ein Satz von Werten aus einem ausgewählten Satz von Parametern eines Objekts oder seiner Umgebung, dargestellt als Zielzustand dieses Objekts oder seiner Umgebung und behandelt als Ereignis.
  • Zieldifferenz- die gesuchte Differenz zwischen den vergangenen und aktuellen Werten eines ausgewählten Satzes von Parametern desObjekts oder seiner Umgebung,dargestellt alssignifikantes Ereignisim Objekt oder seiner Umgebung.
  • Zielverhältnis - das Verhältnis der Werte des ausgewählten Satzes von Parametern des Objekts oder seiner Umgebung, das alsEreignis betrachtet wird.
  • Ziel-"Signatur" - der gesuchte Charakter der Änderungzwischen den vergangenen und den aktuellen Werten desausgewählten Satzes von Parametern desObjekts oder seiner Umgebung, behandelt als Ereignis .

Wir haben die fünf Hauptattribute eines Ereignisses aufgelistet, die in verschiedenen Kombinationen in seinem parametrischen Körper enthalten sind und die Struktur bilden. Das Ereignis wird, wie andere Proto-Blöcke, aus parametrischen Körpern von Objekten in ihrem dynamischen Leben konstruiert und wird durch"Erfassen"von Schlüsselparametern und ihren Werten aus dem aktuellen Moment für die weitere Berechnung und Aufzeichnung von gewünschten Zielen - Hintergrund, Werte, Differenz, Verhältnis oder Signatur als Vorlage im Ereignis-Modul (für die weitere Verwendung im System) gebildet. Wenn ein Ereignis erzeugt wird, werden abgeleitete Parameter zu seinem Körper hinzugefügt, um die Ergebnisse von Differenz- oder Signaturberechnungen zu speichern. Ich sollte noch hinzufügen, dass Sie ein Ereignis mit einem speziellen Handler-Collector erstellen können, der die Funktionen enthält, die Sie für die Berechnung von Zielen und für parametrisches Layout und Aufzeichnung benötigen. Natürlich ist Event komplexer als State und hat im Gegensatz zu letzterem einen "abgeleiteten" Teil, d.h. es ist kein direkter Abkömmling von Object(s)-Parametern, sondern wird durch Parameter für die Ergebnisse der Berechnung von Differenzen oder die Art der Änderungen der Ausgangsparameter ergänzt, aber strukturell ist es derselbe Proto-Block wie State oder Process - d.h. ein Satz von Parametern mit Instanzen von Werten.

Verknüpfung von Protoblöcken zu einem System.

Wir haben nun die Vorstellung, dass Proto-Blöcke durch spezielle Handler-Kollektoren in mindestens drei Methoden gebildet werden:

  1. Die Methode, mit der der parametrische Körper des Objekts bei der Konstruktioneines Zustands oder eines Prozesses"abgeschnitten " wird.
  2. Eine Methode zurErfassung von Parametern und deren Werten aus dem aktuellen Moment des Objekts oder der Umgebung - um einen "Hintergrund", einen Zielwert oder ein Zielverhältnis festzulegen, wenn ein Ereignis konstruiert wird.
  3. Eine Methode zum Hinzufügen und Berechnen spezieller abgeleiteter Parameter füreine Zieldifferenz oder eine Zieländerungssignatur, auch beim Aufbau eines Ereignisses.

Kommen wir nun zu den Fragen,wie man aus den im Konzept vorhandenenProtobausteinen ein "lebendes" System aufbauen kann und welche Rolle das "Event Model" dabei spielt.

Die beiden wichtigsten "Meta-Prozessedes Lebens" eines jeden Systems (Objekts) sind:

  • Selbständige Durchführung des festgelegten Programms.
  • Interaktion mit der Umwelt.

Diese beiden Meta-Prozesse sind ineinander verwoben, wenn äußere Einflüsse den unabhängigen Ausführungsprozess stören und das System daraufhin seine Parameter ändert, um das verlorene Gleichgewicht wiederherzustellen und den unabhängigen Ausführungsprozess fortzusetzen. Insgesamt ist diese Dynamik das Leben desSystems in seinem Umfeld. Um zu verstehen, wie die Beziehung zwischen "externerAktion und interner Reaktion" zustande kommt, müssen wir dem Konzept eine weitere Komponente hinzufügen: die Konditionalität.

  • Bedingung ist ein Proto-Block, der Ursache und Wirkung mit anderen Proto-Blöcken des Systems verbindet. Anders als der im vorigen Teil besprochene Parameter Linkage Handler, der die Werte der verknüpften Parameter gemäß den in ihm festgelegten Regeln oder Formeln ändert, verfügt Condition NICHT über formulierte Regeln und Formeln der Abhängigkeit - Condition verbindet Proto-Blöcke in sich selbst in Ursache-Wirkungs-Ketten ohne Formeln und Algorithmen. Ein Beispiel: Ein Ereignis befindet sich im "Körper" der Ursache, und eine Bedingung befindet sich im "Körper" der Wirkung. Indem wir also ein Ereignis prüfen und erkennen, schließen wir einen Zustand in das Objekt ein. Ohne Formeln und Berechnungen. Ganz einfach, indem man einen direkten Übergang von einem Protoblock zu einem anderen macht.
  • Eine Bedingung hat, wie jeder Proto-Block, einen Handler. In diesem Fall funktioniert der Operator"if()" am besten, zusammen mit"then" und"else". Beachten Sie, dass im Körper von "Cause" (der in"if()" eingefügt ist) immer ein Vergleich zwischendem Muster und der Instanz stattfindet. Wenn wir ein Ereignis überprüfen, nehmen wir seine Vorlage und fügen sie in eine Bedingung ein. Dann sammelt der Bedingungshandler selbst eine Instanz aus den Vorlagenparametern, vergleicht deren Werte mit dem Original und wählt je nach dem Ergebnis des Vergleichs eine von zwei Konsequenzen ("then" oder "else").
Das ist alles für den Moment. Wir haben nun einen vollständigen Satz von Konzepten, um das Ereignismodell zu betrachten, und wir werden uns (bei Interesse) als nächstes damit befassen.


 
Реter Konow #:

Teil 3.

Wird die lib (Bibliothek) intuitiv sein?

 
Реter Konow #:

Absolut, aber wir sind sehr schlecht darin, damit umzugehen, und müssen uns oft mit einer sehr geringen Leistung abfinden, gegen die uns Computer leicht überwältigen).

Wir (das Bewusstsein) sind nur ein kleiner Teil der Funktionalität des Gehirns, und nicht einmal ein notwendiger... Aber bei anderen Aspekten der höheren Nerventätigkeit leistet das Gehirn gute Arbeit und kann jeden Computer schlagen... Poesie, Gemälde, Geschichten, Wissenschaft und so weiter, ich spreche nicht einmal davon... es ist näher an einer Schaufel als an einem Gehirn, was die Intelligenz angeht...

 
transcendreamer #:

Wird die (Bibliothek) intuitiv sein?

Ich weiß nicht, wie viel Erfahrung Sie im Programmieren haben, daher kann ich mir nicht vorstellen, wie sehr Sie verstehen können, worüber ich schreibe. Für einen absoluten Humanisten wird das Konzept wenig klar sein, aber für jemanden mit Programmierkenntnissen ist vieles ziemlich offensichtlich. Versuchen Sie, Fragen zu formulieren, und ich werde versuchen, sie zu beantworten).

Hinzu kommt: Sie haben viele Codes in Ihrer Codebasis, das heißt, Sie haben Erfahrung. Dann sollte Ihnen ein Großteil des Konzepts klar sein.

 
Nikolay Ivanov #:

Wir (das Bewusstsein) sind nur ein kleiner Teil der Funktionalität des Gehirns, und es ist nicht einmal notwendig... Aber bei anderen Aspekten der höheren Nerventätigkeit leistet das Gehirn gute Arbeit und kann jeden Computer schlagen... Ich spreche nicht einmal von Gedichten, Gemälden, Geschichten, Wissenschaft und so weiter, der Computer hat damit nichts zu tun... in Bezug auf die Intelligenz ist er einer Schaufel näher als dem Gehirn...

Ich stimme zu.

 
Реter Konow #:

Ich weiß nicht, wie viel Erfahrung Sie im Programmieren haben, daher kann ich mir nicht vorstellen, wie sehr Sie verstehen, worüber ich schreibe. Für einen absoluten Laien wird das Konzept nicht sehr klar sein, aber für jemanden mit Programmierkenntnissen ist vieles ziemlich offensichtlich. Versuchen Sie, Fragen zu formulieren, und ich werde versuchen, sie zu beantworten).

Hinzu kommt: Sie haben viele Codes in Ihrer Codebasis, das heißt, Sie haben Erfahrung. Dann sollte Ihnen ein Großteil des Konzepts klar sein.

Nun, es gibt eine Standardbibliothek in mql5, es gibt andere Bibliotheken, die eine gewisse Erleichterung bei der Arbeit mit komplexen Entitäten bringen (manchmal ist aber auch das Gegenteil der Fall, nämlich unnötige Komplikationen) - die Frage ist also: Gibt es eine Bibliothek, die bequem zu benutzen wäre?

 
transcendreamer #:

Nun, es gibt eine Standardbibliothek in mql5, und es gibt andere Bibliotheken, die es einfacher machen, mit komplexen Entitäten zu arbeiten (manchmal ist jedoch das Gegenteil der Fall) - die Frage ist also: gibt es eine Bibliothek, die bequem zu verwenden wäre?

Das ist schwer zu sagen. Ich denke, dass die Realisierung eines solchen Nicht-Standard-Ansatzes erfordern würde, alles durch Low-Level-Programmierung zu tun, ohne Standard-OOP zu verwenden. Aber vielleicht liege ich ja falsch.

 
Реter Konow #:

Das ist schwer zu sagen. Ich denke, dass die Implementierung eines solchen Nicht-Standard-Ansatzes erfordern würde, alles in Low-Level-Programmierung zu tun, ohne Standard-OOP zu verwenden. Aber vielleicht liege ich ja falsch.

Alles ist erledigt

 
Реter Konow #:

Das ist schwer zu sagen. Ich denke, dass die Implementierung eines solchen Nicht-Standard-Ansatzes erfordern würde, alles in Low-Level-Programmierung zu tun, ohne Standard-OOP zu verwenden. Aber vielleicht täusche ich mich.

Das Wichtigste ist, dass es für den Benutzer eine Vereinfachung und keine Verkomplizierung darstellt.