Mein Ansatz. Der Kern ist der Motor. - Seite 2

 

Ich konnte nicht vorbeikommen... Welche Bildschirmauflösung benötigen Sie, um solche horizontalen "Bündel" von Code zu sehen?

es ist nicht bequem, im Editor hin und her zu blättern, um den Code zu bearbeiten oder anzuzeigen ))))

 

Und so.

Der erste Vorteil meines Ansatzes ist die Kürze. Weniger Worte, mehr Zahlen. Ein Objekt ist ein Vektor. Ein Item ist ein Komplex von Vektoren innerhalb einer Matrix. Ein Komplex von Elementen ist ein Fenster. Der Fensterkomplex ist der Kern.

Der Punkt ist, dass ein Objekt nicht unbedingt eine Grafik sein muss. Ein Element kann zu einem Begriff gemacht werden und mit nicht weniger als einer Anzahl von Objekten und Eigenschaften ausgestattet werden. Und der Motor wird eine logische Maschine sein, die mit diesen Konzepten (Elementen) arbeitet.

 
Vasiliy Sokolov:

OOP ist eine sehr flexible Methodik, die keine apriorischen Vorstellungen wie das Konzept des "Kernels" hat. Das Kernel-Modell, um das es hier geht, kann jedoch sehr wohl mit OOP erstellt werden. Daher ist die Aussage nicht ganz korrekt.

Ja, ich habe es selbst nachgeschlagen und war überrascht - Peter beschreibt die OOP-Sache so, wie sie ist.

Aber, so wie ich es verstanden habe, bringt Peter als Würde die Fähigkeit des Benutzers hervor, vollen Zugriff auf alle Eigenschaften und Methoden des Kernels zu haben. Und der OOP-Stil ist eben die Kapselung, wenn die Zugriffsrechte in jeder Hinsicht eingeschränkt sind.

Ich erinnere mich, dass auch ich mich in meiner Jugend furchtbar darüber empört habe, dass ich im geschützten Modus keinen Zugriff auf den gesamten Speicher des Computers hatte. Wie kann es sein, dass einige Programme gestartet werden und ich keinen Zugriff auf ihren Speicher erhalte... Speziell gebaute "Workarounds" durch die Programmierung von Direct Memory Access Controller, bekam sogar den Inhalt des Speichers eines anderen Prozesses, unzugänglich für mich aus dem Programm (obwohl, für diese muss ich Befehle verwenden, um die Ports von RAP-Controller zugreifen, und dies an sich ist nicht einfach in Multitasking-Windows-Umgebung, habe ich spezielle Treiber).

Und erst dann verstand ich, dass der geschützte Modus, die Zugriffsteilung (und die Kapselung im Allgemeinen) eine sehr wichtige Sache ist, die ich brauchte. Damit ich nicht aus Versehen in Dinge hineingerate, die ich nicht tun sollte. Und so stehe ich nun fest auf der Position "nur die Ressourcen, Eigenschaften und Methoden, die für den Prozess an irgendeiner Stelle des Programms im Moment notwendig sind".

Aber Peter ist, soweit ich weiß, kein Verfechter der Kapselung.

 
Igor Makanu:

Ich konnte nicht vorbeikommen... Welche Bildschirmauflösung benötigen Sie, um solche horizontalen "Bündel" von Code zu sehen?

es ist unbequem, im Editor hin und her zu blättern, um den Code zu bearbeiten oder anzuzeigen ))))

Wie ich bereits sagte, ist Bequemlichkeit nicht die Hauptsache bei meinem Ansatz. Die Hauptsache ist die Effizienz und das Entwicklungs- und Anwendungspotenzial.

 
Реter Konow:

Wie ich schon sagte, ist Bequemlichkeit nicht die Hauptsache bei meinem Ansatz. Die Hauptsache ist die Effizienz und das Entwicklungs- und Anwendungspotenzial.

OK, ich warte auf weitere Code-Beispiele, aber bis jetzt sehe ich sehr unlesbaren Code, vielleicht wird später etwas klar

 
Vasiliy Sokolov:

OOP ist eine sehr flexible Methodik, die keine apriorischen Vorstellungen wie das Konzept des "Kernels" hat. Das Kernel-Modell, um das es hier geht, kann jedoch sehr wohl mit OOP erstellt werden. Die Aussage ist also nicht ganz richtig.

Es kann ein bedingter Kernel erstellt werden. Ich denke, seriöse Programme tun das. Aber ich habe alles auf einen "physischen" Kernel aufgebaut.

 
Igor Makanu:

OK, ich warte auf weitere Code-Beispiele, aber bis jetzt sehe ich sehr unlesbaren Code, vielleicht wird später etwas klar

Sehen Sie. Das gezeigte ist nur ein allgemeines Beispiel. Hier ist eine klarere Version.

  1. Sie möchten einen Button zeichnen.
  2. Sie erstellen ein Array und speichern die Eigenschaftswerte der Schaltfläche, die Sie erstellen möchten.
  3. Die Schaltfläche besteht aus drei Objekten: Basis, Text, Bild.
  4. Jedes Objekt existiert innerhalb eines Schaltflächenelements, daher muss das Array zweidimensional sein.
  5. Jede Zeile des Arrays stellt ein Objekt des Elements Schaltfläche dar.
  6. Drei Objekte werden die gesamte Schaltfläche darstellen.

Auf diese Weise haben Sie eine Matrix aus drei Vektoren erstellt, die jeweils die Eigenschaften eines Schaltflächenobjekts enthalten.

Dann können Sie diese Matrix als Prototyp verwenden. Eine Vorlage, nach der jede andere Schaltfläche erstellt wird. Alles, was Sie in der endgültigen Variante ändern müssen, sind einige Werte von Objekten, und die neue Schaltfläche wird erstellt.

Im Grunde kann man dasselbe in OOP tun. Abereine Klasse wird als Vorlage verwendet. Ich verwende ein Array als Vorlage.

Das ist der Unterschied.

 
Реter Konow:

Wie ich schon sagte, ist die Bequemlichkeit nicht die Hauptsache bei meinem Ansatz. Die Hauptsache ist die Effizienz und das Entwicklungs- und Anwendungspotenzial.

Das Entwicklungspotenzial hängt auch von der Bequemlichkeit ab.
 
Wo ist der Code, um diese "Dixi-Klos" () zu kontrollieren?
 
Vladimir Karputov:
Wo ist der Code, mit dem Sie diese "Fetzen" () überprüfen können?
Kommen Sie mit dem Code, zumindest mit der ex4-Datei. Soviel ich weiß, geht es bisher um MT4.