Eine Frage an die OOP-Experten. - Seite 51

 
Aliaksandr Hryshyn:
"Neues OOP-Konzept" - der Zweck ist nicht klar. Warum tun Sie das?

Ich möchte einige Dinge verstehen, für die ich mich mein ganzes Leben lang interessiert habe.

1. Ist es möglich, ein sich selbst entwickelndes System zu schaffen?

2. Ist es möglich, einen Prozess zu schaffen, in dem mehrere Systeme interagieren, sich verändern und weiterentwickeln?

3) Kann etwas entstehen, ohne dass ein erstes Konzept vorhanden ist?

4. Was passiert, wenn ich meine Darstellung von Objekten im Kernel und die Standard-OOP mit ihrer Vererbung und Kapselung von Objekten kombiniere? Wäre es möglich, die Erstellung komplexer Systeme zu vereinfachen?

 
Dmitry Fedoseev:

...und mit Instanzen im Eimer arbeiten:)

Warum sollte man etwas in einen Eimer schreiben, insbesondere etwas, das sich auf ein bestimmtes Objekt bezieht? Das Objekt selbst speichert Informationen über sich selbst, und der Bucket enthält nur Zeiger auf Objekte.

Haben Sie sich jemals gefragt, warum in der Standard-OOP so große "Kapseln" (Klassen) von Objekten? Schließlich ist es einfacher, ein Objekt in einen Knoten von Zeigern zu verwandeln und den Inhalt von Objekten außerhalb der Klassen zu speichern. Dann ist das Objekt leicht zu modellieren. Ändern Sie einfach die Zeiger auf das Material, das es kombinieren soll, und das Objekt wird sich in etwas anderes "verwandeln". Der Inhalt des Objekts hängt von den Zeigern ab, nicht von den "Zutaten" seiner Klasse (Kapsel). Ich speichere also genau solche Bündel im Kernel als Objekte. Und das Material selbst befindet sich außerhalb des Kerns. Auf diese Weise können die Verbindungen zwischen den Objekten sowie deren Inhalte leicht und schnell geändert werden, und Systeme, die aus solchen "Knoten"-Objekten bestehen, können leicht modifiziert werden.
 
Na toll, hat der Ansatz auch einen Namen? Vielleicht JELOP - Nukleare objektorientierte Programmierung. Klingt solide, wird mit Waffen und Kernkraftwerken in Verbindung gebracht. Eine Art Slogan: "Ich habe das Beste genommen und es in den Kern gesteckt!" Gut gemacht, Peter, mach weiter so, ich bin angenehm überrascht.
 
Реter Konow:
Haben Sie sich jemals gefragt, warum Standard-OOP so große "Kapseln" (Klassen) von Objekten hat? Schließlich ist es einfacher, ein Objekt in einen Knoten von Zeigern zu verwandeln und den Inhalt von Objekten außerhalb der Klassen zu speichern. Dann ist das Objekt leicht zu modellieren. Ändern Sie einfach die Zeiger auf das Material, das es kombinieren soll, und das Objekt wird sich in etwas anderes "verwandeln". Der Inhalt des Objekts hängt von den Zeigern ab, nicht von den "Zutaten" seiner Klasse (Kapsel). Ich speichere also genau solche Bündel im Kernel als Objekte. Und das Material selbst befindet sich außerhalb des Kerns. Auf diese Weise können die Verbindungen zwischen den Objekten sowie deren Inhalte leicht und schnell geändert werden, und Systeme, die aus solchen "Knoten"-Objekten bestehen, können leicht modifiziert werden.

.

 
Ich warte immer noch auf die Meinung von Artem... Er ist ein Spezialist für das Verständnis des Objekts.
 
Vict:
Na toll, hat der Ansatz auch einen Namen? Vielleicht JELOP - Nukleare objektorientierte Programmierung. Klingt solide und wird mit Waffen und Kernkraftwerken in Verbindung gebracht. Eine Art Slogan: "Ich habe das Beste genommen und es in den Kern gesteckt!" Gut gemacht, Peter, mach weiter so, ich bin angenehm überrascht.
Schauen Sie sich das Gehirn von innen an. Es ist mit Kommunikationszentren (Neuronen) gefüllt, nicht mit einzelnen geschlossenen Komplexen. Das Gehirn speichert die Verbindung, nicht den gesamten Inhalt eines Objekts.
 
Реter Konow:
Betrachten Sie das Gehirn von innen. Es ist mit Verbindungszentren (Neuronen) gefüllt, nicht mit einzelnen geschlossenen Komplexen. Das Gehirn speichert Verbindungen, nicht den gesamten Inhalt eines Objekts.

Solche Verbindungen werden als "Komposition/Aggregation von Objekten" bezeichnet, aber man bleibt bei seinem Kern. Fügen Sie beliebige Links hinzu, es ist nichts Neues dabei.


ZS: Ich habe das Video diagonal gesehen, vielleicht nicht so sehr.
 
Vict:

Solche Verbindungen werden als "Komposition/Aggregation von Objekten" bezeichnet, aber man bleibt bei seinem Kern. Fügen Sie alle Links hinzu, die Sie wollen, das ist nichts Neues.


ZS: Ich habe das Video diagonal gesehen, vielleicht nicht so sehr.

https://habr.com/ru/post/354046/

Dies ist viel klarer.

//-----------------------------------------------

Die Komposition verbindet Objekte, die in einer gemeinsamen assoziativen Kette stehen. Zimmer-Wände-Möbel. Das Problem ist, dass assoziative Ketten zu instabil und undefiniert sind, so dass Verbindungen auf Klassenebene ein Fehler sind. Ein Raum kann mit einem Kind, einem Käfig, einem Hyperkubus oder einer Unterwelt assoziiert werden, und je nach dem kann man ihn mit Inhalten füllen. Eine Standard-OOP-Klasse ermöglicht keine einfache Änderung der Beziehungen innerhalb einer Komposition, während der Kernel dies tut.

Наследование, композиция, агрегация
Наследование, композиция, агрегация
  • habr.com
Нередко случается, что решив разобраться с какой-то новой темой, понятием, инструментом программирования, я читаю одну за другой статьи на различных сайтах в интернете. И, если тема сложная, то эти статьи могут не на шаг не приблизить меня к понимаю. И вдруг встречается статья, которая моментально дает озарение и все паззлы складываются...
 
Vict:

Solche Verbindungen werden als "Komposition/Aggregation von Objekten" bezeichnet, aber man bleibt bei seinem Kern. Fügen Sie beliebige Links hinzu, es ist nichts Neues dabei.


ZS: Ich habe das Video diagonal gesehen, vielleicht nicht so sehr.

schicke ihm 5-10 Rubel für einen Haarschnitt ;)

 

Warum ermöglicht der Kernel die einfache Änderung von Zusammensetzungen (Objektinhalten)? - Denn im Kernel sind Entitäten Speicherplätze mit Variablen. Und eine Klasse isteine Beschreibung eines Objekts auf der Editorebene. Auf der Ebene des Codes.

Der Code wird über den Editor geändert. Der Speicher wird über die Schnittstelle oder durch das Programm selbst verändert. Das heißt, wenn die Klasse (Objektkapsel) aus dem Code in ein Array (Kernel) gelegt wird, ist ihre Verarbeitung und Änderung 100 Mal schneller und flexibler.

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Все объекты, используемые в техническом анализе, имеют привязку на графиках по координатам цены и времени – трендовая линия, каналы, инструменты Фибоначчи и т.д.  Но есть ряд вспомогательных объектов, предназначенных для улучшения интерфейса, которые имеют привязку к видимой всегда части графика (основное окно графика или подокна индикаторов...