Représentation d'un objet en programmation. - page 13

 
Aliaksandr Hryshyn #:
Puis-je donner un exemple ?

Un exemple sera donné un peu plus loin, lorsque le concept sera exposé de manière plus complète et plus claire au lecteur.

 

Partie 3.

Pour formaliser le modèle d'événement, il est nécessaire de développer la nature des événements. Dans les parties précédentes, nous avons supposé que tous les objets sont constitués de "proto-blocs", c'est-à-dire d'entités spécifiques ayant une base paramétrique et utilisées par les fonctions de gestion pour reproduire la "vie" des objets-systèmes. Il a été dit que chaque "proto-bloc" a un "corps" paramétrique qui, comme un "matryoshka", inclut les "corps" de proto-blocs plus petits et est lui-même inclus dans les corps de plus grands. Nous avons supposé que les protoblocs peuvent être classés par niveau de complexité dans une "hiérarchie", où un Paramètre est la plus petite "particule", un ensemble de Paramètres est le "corps" paramétrique de l'Objet, les ensembles de paramètres "dégroupés" de ce corps sont les protoblocs des niveaux de complexité suivants, parmi lesquels le premier est la Condition - la formation paramétrique donnant des "points de rupture" importants dans l'Etre de l'Objet, puis, sur la base de l'ensemble des Conditions liées, le Processus... Arrêtons un instant notre regard sur la structure paramétrique des proto-blocs mentionnés pour passer à l'Événement et comprendre comment il se forme. A ce stade, on peut affirmer :

  • Un état est une construction dérivée de l'ensemble paramétrique de l'objet, c'est-à-dire un "moulage" des paramètres sélectionnés.
  • Un État stocke les instances importantes des valeurs de son Objet.
  • D'un point de vue structurel, les corps paramétriques des États font partie des processus en tant que "lego-tools".
  • Un processus est une séquence d'états liés par l'"activité" de l'objet dans une chaîne.
  • Leprocessus contient des États en tant que cadres de "ciné-film" et est désassemblé en eux.

Ensuite, nous procédons à la genèse de l'Événement et à la divulgation de sa structure paramétrique. Nous devons découvrir comment l'événement est formé, voir le "portrait" paramétrique et sa place dans la hiérarchie des proto-blocs. Ensuite, passons à la "liaison" des proto-blocs en un système fonctionnel et retraçons la "naissance" du modèle d'événement. Il convient de noter immédiatement que la structure paramétrique d'un événement comporte de multiples variations de combinaisons d'attributs permanents. Faisons connaissance avec eux :

  • Contexte de l'événement - ensemble de paramètres et de leurs valeurs provenant de l'objet ou de son environnement (autres objets dans l'environnement), représenté comme l'état initial précédant ou accompagnant un changement significatif considéré comme un événement.
  • Valeur cible- un ensemble de valeurs provenant d'un ensemble sélectionné de paramètres d'un objet ou de son environnement, représenté comme un état cible de cet objet ou de son environnement et traité comme un événement.
  • Différence cible- la différence recherchée entre les valeurs passées et actuelles d'un ensemble sélectionné de paramètres de l'Objet ou de son environnement,représentée comme un Événementsignificatif dans l' Objet ou son environnement.
  • Ratio cible - le ratio des valeurs de l'ensemble sélectionné de paramètres de l'objet ou de son environnement qui est considéré commeun événement.
  • Signature" de la cible - le caractère recherché du changemententre les valeurs passées et actuelles de l'ensemble sélectionné de paramètres de l'objet ou de son environnement, traité comme unévénement .

Nous avons énuméré les cinq attributs clés d'un événement inclus dans son corps paramétrique dans diverses combinaisons et constituant la structure. L'événement, comme d'autres proto-blocs, est construit à partir de corps paramétriques d'objets dans leur vie dynamique et est formé en"capturant" les paramètres clés et leurs valeurs à partir du moment présent pour un calcul ultérieur et l'enregistrement des cibles souhaitées - fond, valeurs, différence, rapport ou signature comme un modèle dans le module d'événement (pour une utilisation ultérieure dans le système). Lorsqu'un événement est généré, des paramètres dérivés sont ajoutés à son corps pour stocker les résultats des calculs de différence ou de signature. Je dois ajouter que vous pouvez créer un événement avec un gestionnaire-collecteur dédié avec la fonctionnalité dont vous avez besoin pour calculer les cibles et pour la disposition et l'enregistrement paramétriques. Bien sûr, Event est plus complexe que State et, contrairement à ce dernier, il a une partie "dérivée", c'est-à-dire qu'il n'est pas un descendant direct des paramètres d'Object(s) mais est complété par des paramètres pour les résultats du calcul des différences ou la nature des changements des paramètres initiaux, mais structurellement, c'est le même proto-bloc que State ou Process - c'est-à-dire un ensemble de paramètres avec des instances de valeurs.

Relier les proto-blocs à un système.

Nous avons maintenant la notion que les proto-blocs sont formés par des manipulateurs-collecteurs spéciaux selon au moins trois méthodes :

  1. La méthode qui consiste à "découper " le corps paramétrique de l'objet lors de la construction d'un état ou d'un processus.
  2. Une méthode pourcapturer les paramètres et leurs valeurs à partir du moment présent de l'objet ou de l'environnement - pour fixer un "fond", une valeur cible ou un ratio cible, lors de la construction d'un événement.
  3. Une méthode pour ajouter et calculer des paramètres spéciaux dérivés pourune signature dedifférence de cible ou de changement de cible, également lors de la construction d'un événement.

Et maintenant, passons aux questionssuivantes : "comment construire un système "vivant" à partir desprotoblocs disponibles dans le concept et quel rôle le "modèle d'événement" joue-t-il dans ce contexte ?

Les deux "Méta-processusde vie" clés de tout Système (Objet) sont :

  • Exécution indépendante du programme établi.
  • Interaction avec l'environnement.

Ces deux méta-processus sont imbriqués en un seul, lorsque des influences extérieures interfèrent avec le processus d'exécution indépendant et qu'en réponse, le système modifie ses paramètres pour retrouver l'équilibre perdu et poursuivre le processus d'exécution indépendant. Globalement, cette dynamique est la vie duSystème dans son Environnement. Afin de comprendre comment se réalise la relation entre "actionexterneet réaction interne", nous devons ajouter une autre composante au concept, la conditionnalité.

  • Lacondition est un proto-bloc qui relie la cause et l'effet aux autres proto-blocs du système. Contrairement au gestionnaire de liens de paramètres présenté dans la partie précédente, qui modifie les valeurs des paramètres liés selon des règles ou des formules définies en son sein, Condition n'a PAS de règles et de formules de dépendance formulées - Condition relie des proto-blocs en son sein dans des chaînes de cause à effet sans formules ni algorithmes. Par exemple, un événement est placé dans le "corps" de la cause, et une condition est placée dans le "corps" de l'effet. Ainsi, en vérifiant et en détectant un événement, nous incluons un état dans l'objet. Sans formules ni calculs. Tout simplement, en faisant une transition directe d'un proto-bloc à un autre.
  • Une condition, comme tout proto-bloc, a un gestionnaire. Dans ce cas, l'opérateur"if()" est le plus efficace, de même que"then" et"else". Notez que dans le corps de "Cause" (qui est mis dans"if()") il y a toujours une comparaison entrele motif et l'instance. Si nous vérifions un événement, nous prenons son modèle et le plaçons dans Condition, puis le gestionnaire de Condition lui-même collecte une instance des paramètres du modèle, compare ses valeurs à celles de l'original et choisit l'une des deux conséquences ("alors" ou "autrement") en fonction du résultat de la comparaison.
C'est tout pour le moment. Nous disposons maintenant d'un ensemble complet de concepts pour envisager le modèle événementiel et nous y reviendrons (si cela vous intéresse) dans la suite.


 
Реter Konow #:

Partie 3.

La lib (bibliothèque) sera-t-elle intuitive ?

 
Реter Konow #:

Absolument, mais nous sommes très mauvais dans ce domaine et devons souvent nous contenter de performances très faibles, contre lesquelles les ordinateurs nous dépassent facilement).

Nous (la conscience) ne sommes qu'une petite partie de la fonctionnalité du cerveau, et même pas une partie nécessaire... Mais pour d'autres aspects de l'activité nerveuse supérieure, le cerveau est performant et peut battre n'importe quel ordinateur... la poésie, les peintures, les histoires, la science, etc., je n'en parle même pas... c'est plus proche d'une pelle que d'un cerveau en termes d'intelligence...

 
transcendreamer #:

La (bibliothèque) sera-t-elle intuitive ?

Je ne sais pas quelle expérience vous avez en matière de programmation, et je ne peux donc pas imaginer à quel point vous pouvez comprendre ce que j'écris. Pour un humaniste complet, le concept sera peu clair, mais pour quelqu'un ayant des compétences en codage, beaucoup de choses sont assez évidentes. Essayez de formuler des questions et j'essaierai d'y répondre).

Ajouté : vous avez beaucoup de codes dans votre codebase, ce qui signifie que vous avez de l'expérience. Alors, une grande partie du concept devrait être claire pour vous.

 
Nikolay Ivanov #:

Nous (la conscience) ne sommes qu'une petite partie de la fonctionnalité du cerveau, et il n'est même pas nécessaire... Mais pour d'autres aspects de l'activité nerveuse supérieure, le cerveau est performant et peut battre n'importe quel ordinateur... Je ne parle même pas des poèmes, des peintures, des histoires, de la science et ainsi de suite, l'ordinateur n'a rien à voir avec cela... en termes d'intelligence, il est plus proche d'une pelle que du cerveau...

Je suis d'accord.

 
Реter Konow #:

Je ne sais pas quelle expérience vous avez en matière de programmation, et je ne peux donc pas imaginer à quel point vous comprenez ce que j'écris. Pour un humaniste complet, le concept ne sera pas très clair, mais pour quelqu'un qui a des compétences en codage, beaucoup de choses sont assez évidentes. Essayez de formuler des questions et j'essaierai d'y répondre).

Ajouté : vous avez beaucoup de codes dans votre codebase, ce qui signifie que vous avez de l'expérience. Alors, une grande partie du concept devrait être claire pour vous.

Eh bien, il y a une bibliothèque standard dans mql5, il y a d'autres bibliothèques qui apportent une sorte de soulagement pour le travail avec des entités complexes (parfois, cependant, le contraire est le cas de la complication inutile) - donc la question est : Y a-t-il une bibliothèque, qui serait pratique à utiliser ?

 
transcendreamer #:

Eh bien, il y a une bibliothèque standard dans mql5, et il y a d'autres bibliothèques qui facilitent le travail avec des entités complexes (parfois, cependant, c'est le contraire qui se produit) - donc la question est : y a-t-il une bibliothèque qui serait pratique à utiliser ?

C'est difficile à dire. Je pense que la réalisation d'une telle approche non standard nécessiterait de tout faire par programmation de bas niveau, sans utiliser la POO standard. Mais peut-être que je me trompe.

 
Реter Konow #:

C'est difficile à dire. Je pense que la mise en œuvre d'une telle approche non standard nécessiterait de tout faire en programmation de bas niveau, sans utiliser la POO standard. Mais peut-être que je me trompe.

Tout est fait

 
Реter Konow #:

C'est difficile à dire. Je pense que la mise en œuvre d'une telle approche non standard nécessiterait de tout faire en programmation de bas niveau, sans utiliser la POO standard. Mais peut-être que je me trompe.

L'essentiel est que pour l'utilisateur, il s'agisse d'une simplification et non d'une complication.

Raison: