Darstellung eines Objekts in der Programmierung.

 

Dieses Thema ist für alle interessant, die sich mit Fragen der globalen Programmplanung befassen.

Die Frage, die mich umtreibt, lautet: "Warum ist das bekannte Objektmodell im Standard-OOP-Konzeptkanon enthalten?"Ich meine, ein Objekt ist eine Entität, die Menschen jedes Mal mit Worten beschreiben, wenn sie das Wort sagen. Mit dem Aufkommen der Programmierung war der Versuch, das Objekt durch einen Code zu beschreiben, logisch verbunden, und es wurde eine spezielle Technologie erfunden, um dies zu tun, aber hier ist die Frage: Warum nur eine? Als ob die erste Sprache die anderen vollständig verdrängt hätte und sie sich nicht weiterentwickeln konnte. Das ist in der Antike unmöglich, aber im Zeitalter von Globalismus und Propaganda möglich. Und so geschah es - eine Darstellung des Objekts eroberte die Welt und versperrte anderen Ideen den Weg.

Ich hätte die Standardkonzeption des Objekts schon längst akzeptiert, wenn ich (als Philosoph) nicht einige Beschwerden darüber gehabt hätte.

  1. Zunächst eine Vorbemerkung: Ein evolutionärer Schritt in der Programmierung wurde getan, als die Hauptthese aufgestellt wurde, dass die Programmierung von "Objekten" ausgeht und jedes Programm logisch in diese zerfallen sollte. Das heißt, wir schreiben nicht mehr Algorithmen (Abfolgen von Operationen), sondern schaffen "Entitäten". Algorithmen hingegen werden von uns so strukturiert, dass sie Teil eines "Gesamtensembles" von Interaktionen werden. Warum? - Auf diese Weise ist es effizienter. ABER, hier ist die Frage: Wo ist das "offiziell registrierte" philosophische Konzept des Objekts? Leider gibt es bis heute keine, und es kann auch keine geben.

Das bedeutet, dass die Autoren des OOP-Konzepts willkürlich gehandelt und sich auf die "Unfehlbarkeit" ihrer philosophischen Vorstellungen verlassen haben.

2. Hier sind einige meiner Forderungen:

(1) Warum verfügt das Standardkonzept nicht über ein Werkzeug " Der Stand der"? Haben Objekte keine Zustände? Ein Zustand kann in einer Struktur beschrieben werden, aber das ist unpraktisch. Das Standardkonzept ist nicht für die Arbeit mit Objektzuständen ausgelegt. Zum Beispiel: Ich erstelle eine spezielle Struktur, liste die Parameter des Objekts auf, kopiere einen Teil davon (ausgewählte Parameter), benenne diesen Teil als Zustand und schreibe Werte, die dem Zustand des Objekts entsprechen. Dann verbinde ich sie mit der Hauptstruktur des Objekts.

(2) Es gibt kein Instrument des"Ereignisses". Ich meine, ein Ereignis "schwebt" im Standardkonzept, aber es kann nicht als Aufzählung, Klasse oder Funktion beschrieben werden. Eine einfache Beschreibung eines Ereignisses in der Programmierung wäre sehr hilfreich. Zum Beispiel: Beschreiben Sie es als Struktur, aber weisen Sie darin auf "Hintergrund" -Zustände der Umgebung und der Objekte hin, und weisen Sie auf eine Schlüsseländerung hin, die der Auslöser ist, um eine Kette anderer Änderungen zu starten. Nochmals - OOP ist nicht für prägnante Ereignisbeschreibungen geschärft und bietet an, sie in einem Bündel von Bedingungen zu beschreiben, die keinen Namen haben und "irgendwo" zu finden sind.

(3) Außerdem ist ein Parameter kein eigenständiges Objekt. Es ist in der Tat das wichtigste Objekt, das als Vorlage dienen kann und aus dessen Kopien und Änderungen jedes beliebige System zusammengestellt werden kann. Das tut es nicht...

Ich könnte noch viel mehr sagen, aber meine Botschaft ist klar: Entwickeln Sie Ihre OOP, und vielleicht erfinden Sie etwas viel Cooleres, weil niemand vor Ihnen ernsthaft versucht hat, es zu tun. Und das Standardkonzept ist eine subjektive Vision, keine Physik oder Mathematik, und es kann geändert werden).

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения
  • www.mql5.com
Константы, перечисления и структуры / Состояние окружения - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Es gibt ein Entwurfsmuster namens Zustand

es gibt ein Beobachtermuster

Da ist das Fahrradmuster. Es ist Peters Lieblingsmuster.
 

sowohl C# als auch Delphi haben Eigenschaftenhttps://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/classes-and-structs/properties

und ewents sind schon lange kein Gimmick mehr

aber, meiner Meinung nach, ein anderes Thema auf die Worte eines ziemlich guten Song "Fairy" - YazheVik .... Sie gehen und ich bin eine Fee! ....

 
Im Allgemeinen muss man, wenn man das Objekt definiert, auch das Subjekt definieren, sonst ist dies eine unvollständige Beschreibung der Welt, außerdem gibt es in moderneren philosophischen Konzepten das Trajekt mit einem unabhängigen relationalen Status als Zwischenglied/Bindeglied zwischen Objekt und Subjekt.
 

Peter, der wieder von der falschen Seite kommt. Warum sollte der Staat ein Werkzeug sein? Der Staat war und ist, er ist nicht verschwunden, er ist sogar ursprünglicher als alles andere. Und ja - ein Ereignis ist kein Zustand, also wird es nicht beschrieben, sondern aufgezeichnet.

 

Реter Konow:

...aber wo ist das "offiziell registrierte" philosophische Konzept des Objekts? Leider gibt es bis heute keine, und es kann auch keine geben. ...

Denn sie basiert überhaupt nicht auf der Philosophie. Das Objekt in der Programmierung ist nicht etwas Erhabenes, Mystisches oder etwas anderes, das Sie sich vorstellen könnten. Es ist einfach eine Verschmelzung von Funktionen und Variablen.

 
Реter Konow:

Dieses Thema ist für alle interessant, die sich mit Fragen der globalen Programmplanung befassen.

Ich frage mich, "warum ist das allgemein bekannte Objektmodell im Standard-OOP-Konzept ein Kanon?".

Denn die ersten beiden großen O's kommen zuerst. Da das Konzept objektorientiert ist, sind sie die Essenz des Konzepts. So wie bei der prozeduralen Programmierung die Prozeduren im Vordergrund stehen, so stehen bei SQL die Abfragen im Vordergrund, ohne zu berücksichtigen, wie sie ausgeführt werden, und so weiter und so fort. Die Essenz, nicht der Kanon. Die Heiligsprechung der OOP mit ihrer Gegnerschaft zu anderen Ansätzen wird in diesem Forum aktiv betrieben, deshalb entsteht dieser Eindruck.

 

Anstatt Ihr eigenes Fahrrad neu zu erfinden, sollten Sie die Typentheorie studieren und ihre Anwendung auf die Programmierung in funktionalen Sprachen (z. B. Haskel) üben.

Für ein Verständnis der philosophischen und logischen Grundlagen können Sie Bertrand Russell lesen.

 
Реter Konow:

Dieses Thema ist für alle interessant, die sich mit Fragen der globalen Programmplanung befassen.

Blah blah blah.

All dies hat nichts mit OOP oder Programmierung zu tun.

Nennen Sie es lieber "Wie viele Objekte passen auf eine Nadelspitze?".

 
Vladimir:

Weil es überhaupt zwei große O's gibt. Da es sich um ein objektorientiertes Konzept handelt, sind sie der Hauptbestandteil des Konzepts. So wie bei der prozeduralen Programmierung die Prozeduren im Vordergrund stehen, so stehen bei SQL die Abfragen im Vordergrund, ohne Rücksicht auf die Art und Weise, wie sie ausgeführt werden, usw. usw. Die Essenz, nicht der Kanon. Die Heiligsprechung der OOP mit ihrer Opposition zu anderen Ansätzen wird in diesem Forum aktiv betrieben, deshalb entsteht ein solcher Eindruck.

Ich habe eine Frage gestellt: "Warum gibt es nur eine Norm für die Beschreibung und Konstruktion von Objekten"?
Sie haben entschieden, dass meine Frage lautet: "Warum ist OOP kanonisch?
Objektorientierung in der Programmierung strukturiert, skaliert und implementiert Aufgaben. Daran besteht kein Zweifel. Aber warum ist das Format dasselbe?
 
Dmitry Fedoseev:

Weil sie sich überhaupt nicht auf die Philosophie stützt. Das Ziel beim Programmieren ist nicht etwas Erhabenes oder Mystisches oder was auch immer man sich darunter vorstellen mag. Es ist einfach eine Verschmelzung von Funktionen und Variablen.

Hier kann man auf ein philosophisches Konzept nicht verzichten. Einfach Funktionen und Variablen zusammenführen, ohne einen gut durchdachten Entwurf des Objekts zu verfolgen? Man gibt uns bestimmte Werkzeuge: Klassen, Strukturen, Zugriffsmodifikatoren... aber es könnte andere Werkzeuge geben... z.B. Zustand, Probenahme, Kartierung... warum nicht? Ich will damit sagen, dass das OOP-Format und das Toolkit Versionen haben können...
Und in bestimmten Fällen kann eine andere Version des Objektbeschreibungsformats effektiver sein.